我目前正在学习JavaEE(从SE迁移),我对JavaEE环境中的异步执行感到困惑。基本上,根据我的理解,创建Thread或Timer并不完全推荐。目前我发现的另一种方法是使用JMS将消息传输到EJB消息Bean,它将异步执行。还有哪些其他方法可以实现这种行为?因为对于简单的任务,使用JMS看起来开销太大。 最佳答案 JavaEE6中最简单的可能解决方案是使用@AsynchronousEJB方法(或整个类)上的注释。它允许您异步调用业务方法,这意味着将委托(delegate)一个新线程来执行此方法,您将在调用方方法中取回控制权。在J
我的OSXLion工作站上的Java首选项应用程序表明我安装了JavaSE6v1.6.0_29-b11-402(32位和64位版本)。遗憾的是,我需要的附加功能仅在企业版中可用。“Jesper”在“HowinstallaspecificjdkonMacOSX?”中的评论'建议我需要使用Apple提供的Java,而不是Oracle/Sun提供的Java。不幸的是,Apple似乎没有提供Java6的企业版。这让我提出了一些问题:我错过了什么吗?Apple是否提供Java6的EE?如果1为真,我如何得到它?它可以与JavaSE6“并行”安装吗?如果1为假,是否可以使用Oracle/Sun版本
为什么不能从servlet过滤器中引用cookie?我似乎无法理解JavaEE不允许您清理cookie值:publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsServletException,IOException{request.}ServletRequest不支持getCookies(HttpServletRequest就是这种情况)。 最佳答案 为了获取cookie,您需要将其转换为HttpServlet
我正在运行一个JavaEE应用程序,它在Payara4.1.1.172上使用Hibernate5.2.10.Final和ApacheDerby存储后端。我看到类似这样的错误消息Causedby:java.sql.SQLDataException:AtruncationerrorwasencounteredtryingtoshrinkVARCHAR()FORBITDATA'(BinärerDatenwertwirdnichtangezeigt)'tolength255.这表明Hibernate或Derby或两者都没有在消息的所有部分使用英语错误消息。我试过了添加一个static{Syst
毕竟是万圣节。这就是问题所在:我正在使用Quartz维护一些老式的J2EE代码,其中线程用完了。jconsole告诉我,当它变成梨形时,只有不到60K个线程,其中大约100个(!!)实际上正在运行。直觉和一些谷歌搜索(另见here)表明正在发生的事情(我打赌Quartz)正在创建永远不会被清理的非托管线程。几个子问题:是否有我可以轻松使用的工具来跟踪线程创建,因此我可以确定问题真的出在Quartz上?我发现的关于类似问题的大部分内容都引用了Weblogic;这是Tomcat的错误线索吗?有没有人有已知的解决方案?我已经有好几年没接触J2EE了,所以如果这是可以简单解决的问题,我不会太惊
Java安全性是我最近几周的主要话题,我归档了以下内容:自定义Valvevalidator(扩展AuthenticatorBase)jBoss自定义登录模块(extendsUsernamePasswordLoginModule)安全端点(JAX-RS)我的主要问题是,我的端点仅适用于注释@DeclareRoles,如果我不使用它,我将无法通过身份验证。详细地说,AuthenticatorBase.invoke方法(来自org.apache.catalina.authenticator)调用方法RealmBase.hasResourcePermission并在那里检查角色。由于我不使用任
我刚开始学习JavaEE。我的目标是为羽毛球运动员实现一个Web门户(使用EJB3和JSF),用户可以在其中发布和分析他们的结果。为简单起见(事实证明并非如此)我决定使用容器提供的安全系统(JBossas7)。出现一些问题后,我设法让身份验证/授权工作。但是,我有一个问题无法解决。当我尝试访问protected页面时,正如预期的那样,我被安全系统拦截了。然而,在我登录后,我并没有被重定向到我最初请求的页面。相反,我再次被要求登录。如果我手动输入原始地址,我可以毫无问题地访问该页面。我已经阅读了很多关于stackoverflow的帖子,但未能解决我的问题。如果有人能帮助我,我将不胜感激!
并发实用程序(JSR236)已在JavaEE7中引入。有什么办法可以将我的EJB注入(inject)到Runnable/Callable对象中吗?特别是我想要这样的东西:带有业务逻辑的ejb@LocalBeanpublicclassMyEjb{publicvoiddoSomeStuff(){...dosomestuff...}}我想在其中注入(inject)MyEjb实例的可运行/可调用类publicclassMyTaskimplementsRunnable{@EJBMyEjbmyEjb;@Overridepublicvoidrun(){...myEjb.doSomeStuff();.
看完thisarticle,我想到了一个问题:‘OSGi会变成JavaEE吗?OSGi会取代JavaEE吗?OSGi是否在增加JavaEE?从历史上看,OSGi确实与JavaEE完全不同,但考虑到现在EEG的结果,其中一些服务是JavaEE服务。另一个事实是,谁使用JavaEE将它用于其API,这与OSGi相矛盾,OSGi本应与API无关。我不确定它会去哪里,你们呢? 最佳答案 OSGi是容器技术。它与JavaEE技术无关,例如(例如)Servlet、JDBC、EJB、JMS等。它负责代码组件的打包(打包)及其管理。这可能会影响您打
我们想在我们的JavaEE应用程序服务器(JBoss4.2.3)中处理一些客户端请求。我读到JavaEEspecdoesn'tallowopeningasocketfromanenterprisebean.但规范表明没有其他选择。Specifically,enterprisebeansshouldnot:listenon,acceptconnectionson,ormulticastfromanetworksocket所以问题是:我可以做些什么来从应用程序服务器中提供一些基于二进制tcp的协议(protocol)(不是http)?Here有人建议实现resourceadapter.这是