伙计们,
曾经是当你点击servlet/jsp时,app服务器会自动启动一个会话.它会将会话cookie放在第一个动态响应中,并在整个过程中进行跟踪.
我有一个休息后端,我注意到没有会话cookie被交易.所以我手动添加代码来发送JSESSIONID cookie:
@Context
private HttpServletRequest httpRequest;
// ...
@GET
@Path( "/{rcpGuid}" )
public Response myMethod( ... )
{
final HttpSession session = httpRequest.getSession();
final String sSessionId = session.getId();
...
return Response.status( Response.Status.SEE_OTHER ).
location( redirectUrl ).cookie( new NewCookie( "JSESSIONID", sSessionId ) );
}
Run Code Online (Sandbox Code Playgroud)
现在这导致返回2个JSESSIONID cookie副本,之前没有Set-Cookie标头.这就是我现在在浏览器的检查器中看到的内容:
Set-Cookie:JSESSIONID=sdm-Q1P6pRoQbKd4-9cJylGb; Path=/nn, JSESSIONID=sdm-Q1P6pRoQbKd4-9cJylGb; Version=1
Run Code Online (Sandbox Code Playgroud)
只要这样可行,我就不在乎.但不幸的是,当我的浏览器请求将URL重定向到(注意响应是"SEE_OTHER")时,该请求不具有会话ID.这导致我的应用程序无法正常运行.
任何见解?
我已经开始努力在torquebox(www.torquebox.org)上实现类似于mod_xsendfile的功能支持.Torquebox基本上是JBoss AS 7上的一堆代码,这使我的努力等同于使sendfile在JBoss AS 7上运行.
这里的主要问题可能是我对JBoss的困惑,但是在浪费了太多时间耗费我所有的谷歌搜索资源之后,我必须相信那里有人确实知道这个东西在AS 7中是如何工作的.
据我了解,JBoss通过使用JBoss Web本机连接器(http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-10)支持sendfile,即APR http连接器.
花了好几个小时没有在AS 7上安装这些,这看起来像其他人的魅力(https://community.jboss.org/message/614790),grep'ing我的本地JBoss目录告诉我,这些本机连接器是显然与AS 7捆绑在一起.在我的情况下,所需的dll被放入
%JBOSS_HOME%\模块\组织\ jboss的\作为\网络\主\ LIB\WIN-x86_64的
如此史诗般的失败,试图安装已经存在的东西.检查我的standalone.xml配置文件还会显示正在使用此本机连接器
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="false">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
Run Code Online (Sandbox Code Playgroud)
将所有日志记录级别切换为调试并检查日志会显示日志消息
standalone/log/server.log.2012-02-10:324:23:12:17,964 INFO [org.apache.coyote.http11.Http11AprProtocol](MSC服务主题1-5)在http-127.0上启动Coyote HTTP/1.1 .0.1-127.0.0.1-8080
其中Http11AprProtocol指示使用APR http连接器.但是,网上的很多帖子都提到还应该显示以下行:
org.apache.catalina.core.AprLifecycleListener init INFO:APR功能:IPv6 [true],sendfile [true],接受过滤器[false],random [true].
无论日志记录级别如何,AprLifecycleListener行都不会显示.
当我回顾一下,似乎APR http连接器现在正在使用中.
根据文档,我可以使用以下servlet
public class Sendfile extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if(Boolean.TRUE == request.getAttribute("org.apache.tomcat.sendfile.support")){
// Send all the files!!
}
else{ …
Run Code Online (Sandbox Code Playgroud) 我在Jboss7.0.2中部署war文件时遇到问题.当我第一次部署.它工作得很好.我做了一些更改(增加了一个终点),之后我无法部署战争.没有错误.但新服务尚未部署.但我能够打到旧服务.
我按照步骤进行部署,1.停止服务器2.从
jboss-as-web-7.0.2/domain/servers/server-one/deployments/3中删除war文件.将新的war文件复制到同一个文件中地点.4.启动服务器.
除此之外我还需要做什么吗?请帮我.
有谁知道如何连接jboss-as-7.1.1
到PostgreSQL?
我正在使用带有CDI的JBoss 7.1.1.
我在JNDI中有一个名为ServiceAccount的无状态bean.这是真正的服务实现.我有另一个名为ServiceAccountMock的Statelss bean,它是一个Mock服务.两者都来自同一个界面,并打包在service.ear中.
我想要做的是在bean.xml中声明模拟服务作为替代,重新部署我的服务,然后所有客户端都看到模拟版本(在客户端没有改变任何东西).
当我部署我的service.ear时,JBoss说:
java.lang.IllegalArgumentException: JBAS011046: A component named 'ServiceAccount' is already defined in this module
Run Code Online (Sandbox Code Playgroud)
这是事实,两种服务都以相同的方式声明(@Stateless(name ="ServiceAccount")).
如果我更改模拟版本的名称,我必须在客户端更改使用哪个EJB(我不想这样做).
有谁知道这是怎么做到的吗 ?
我有一个应用程序在JBoss AS 7安装(Infinispan二级缓存提供程序)上使用二级缓存.
我们有一些更新的JPQL查询使缓存失效 - 我想知道如果我们在应用程序中包含一些本机SQL查询会产生什么影响.查询缓存是否会失效?
我还记得在Hibernate上使用sqlQuery.addSynchronizedQuerySpace("")指令来防止某些本机SQL查询的缓存失效.是否可以使用JPA进行此操作?
谢谢!
我无法在JBoss 7.3.0中运行一些代码(请参阅下面的版本)来调用未在JBoss中运行的Web服务.我收到错误,如下所示.
我已经在各地寻找解决方案,所以任何操纵者都会非常感激.
我使用JBOSS_HOME\bin\wsconsume.bat工具生成了@WebServiceClient java类.我使用的技术是将URL和QName对象传递给@WebServiceClient类的构造函数.我可以看到代码能够从URL读取wsdl(使用http://地址),但正如您在下面的例外中所看到的,它无法看到这些方法.
我已经通过运行一个独立的Java应用程序来验证代码在JBoss之外工作,该应用程序执行相同的操作,它可以连接到webservice,调用方法并读取响应.
我注意到一些有趣的东西,如果我关闭了webservice,然后更改代码,从filesyetem(文件的URL:/而不是http://)本地存储的wsdl的副本中读取wsdl,那么相同的错误是生成,这对我来说似乎很奇怪,几乎就好像JBoss不允许传出连接到web服务.当webservice正在运行(并且代码被还原为使用http URL)时,看起来JBoss能够读取wsdl(日志记录显示已经从wsdl读取了Web方法)但是没有连接到webservice.
版本:
JBoss:EAP 6.2.0.GA(基于AS 7.3.0构建)Java:1.6.0_45
此处显示异常:
13:14:02,451 INFO [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (Thread-4 (HornetQ-client-global-threads-1486295624)) Creating Service {http://www.ibm.com/maximo/wsdl/FR_MXWOWS}FR_MXWOWS from WSDL: file:/Dimensions/NIW_DEV/niw/ext/src/main/resources/wsdl/MockMaximoService.wsdl
13:14:02,541 WARNING [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (Thread-4 (HornetQ-client-global-threads-1486295624)) No method was found for the WSDL operation {http://www.ibm.com/maximo/wsdl/FR_MXWOWS}UpdateFR_MXWO.
13:14:02,541 WARNING [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (Thread-4 (HornetQ-client-global-threads-1486295624)) No method was found for the WSDL operation {http://www.ibm.com/maximo/wsdl/FR_MXWOWS}CreateFR_MXWO.
13:14:02,541 WARNING [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (Thread-4 (HornetQ-client-global-threads-1486295624)) No method was found for the WSDL operation {http://www.ibm.com/maximo/wsdl/FR_MXWOWS}DeleteFR_MXWO.
13:14:02,551 WARNING [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (Thread-4 (HornetQ-client-global-threads-1486295624)) No method was found for the WSDL operation {http://www.ibm.com/maximo/wsdl/FR_MXWOWS}SyncFR_MXWO. …
Run Code Online (Sandbox Code Playgroud) 我尝试使用pptx4j库生成pptx.我可以成功生成一个pptx.然后我将代码应用于在jboss 7服务器上运行的巨大项目.项目已成功部署在服务器上.但是当我试图运行应用程序时,它会给出以下异常.
java.lang.NoClassDefFoundError:com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper
代码中的后续行发生了该异常.
PresentationMLPackage presentationMLPackage = PresentationMLPackage
.createPackage();
Run Code Online (Sandbox Code Playgroud)
是否有一种特殊的方式在jboss 7服务器上运行docx4j库.我在互联网上搜索更多,但我找不到解决方案.
我正在使用JBoss Application Server进行部署的Web项目中。启动服务器后,我收到以下消息。
应用程序服务器可能已在主机localhost上运行
Web Poller在URL http:// localhost:8080上找到了正在运行的服务器
我netstat
在使用port的进程上的命令上找不到任何条目8080
。
还尝试了此问题中提到的解决方案。