草庐IT

java - 在实体 Bean 中使用无状态 EJB bean

显然,在实体bean中使用无状态EJBbean有异味,但请考虑以下场景,如果您知道更好的解决方案,请告诉我:我有一个InvoiceTemplate实体Bean,字段为NextInvoiceDate生成NextInvoiceDate是一个复杂的过程,应该在InvoiceTemplate类之外执行NextInvoiceDate应在每次InvoiceTemplate存储到数据库时更新现在我有关于@PrePersist@PreUpdate实体中NextInvoiceDate生成的逻辑InvoiceTemplate实体bean。逻辑越来越复杂,我想把它移到InvoiceTemplate实体bea

java - 我可以阻止 javac 从我们的第三方 jar list 访问类路径吗?

从Java1.5左右开始,javac一直在查看第三方jar的list以找到其他jar。这会导致一些不良的副作用:由于jar文件已重命名,我们现在每次编译时都会收到大量警告(可以使用-Xlint:-path禁用)我们不希望出现在类路径中的文件会被放回其中,即使它们出于某种原因被保留在其中也是如此。构建过程中需要额外的时间来查找所有这些额外的jar,因为我们实际上并不需要这些内容的解析。所以我想知道是否有人知道禁用它的魔法调用。假设Sun没有给我们带来另一个我们不想要并且一旦拥有就无法关闭的功能。 最佳答案 这是一个修改list文件的A

java - 反序列化无状态 EJB 时是否应用 @Resource 注释?

当EJB被反序列化时,是否在方法上应用了@Resource注释?我有一个由容器保留的EJB计时器,我想知道在反序列化EJB时是否会再次注入(inject)transientTimerService(它不可序列化)。 最佳答案 也许这篇文章有帮助:无状态sessionBean:无状态sessionEJB在创建时注入(inject),并在其整个生命周期内保留其资源。StatefulSessionBean:依赖注入(inject)似乎只发生在创建时。无论如何,在激活之后,将调用@PostActivate回调处理程序,您可以在其中恢复tra

java - 使用其他 jar 的方面

我想要完成的是以下内容:我有一个具有以下结构的服务器。binapisservicesetc...IwanttodefineanAPIthatcontainsanaspecttobeusedbyservices.Say:@AspectpublicclassAuthorizationAspect{@Pointcut("call(**())&&@annotation(Authorization)")publicvoidcutAuthorize(){}@Before("cutAuthorize()")publicvoidcallFromAuthorizeBefore(){System.out.

java - m2e 未检测到本地存储库中的任何 Jar

在我的Java项目中,它具有maven的“特性”,m2e版本1.0.10020110804没有检测到位于我的本地存储库中的任何jar。我可以从命令行使用maven成功编译/安装,但是当我在Eclipse中打开项目时,我收到100+(无法解析为类型)错误的通知。有谁知道如何解决这个问题?我试过更新依赖项并清理我的项目,但都不起作用。我的本地存储库是在“用户设置”下的m2e中设置的。 最佳答案 M2e需要配置为使用您的本地主存储库。通常,人们会希望它自动执行此操作...但在您的情况下,它使用不同的主存储库。我在这里感受到你的痛苦-我已经

java - 在 EJB 环境中是否存在类似于 .wait() 和 .notify() 的行为?

我知道我不能修改EJB容器中的线程,因此我不知道如何在EJB环境中以正确的方式执行以下操作:涉及:无状态sessionBean“客户端”无状态sessionBean“服务器”消息队列“队列”处理来自“队列”的消息的消息驱动Bean“Mdb”n个无状态sessionBeanW1到Wn场景是:客户端调用服务器的方法,后者又将多个消息发送到队列。之后,Server会做一些其他的事情。与此同时,Mdb消费一条消息,调用Wi进行一些相当长的计算,并获得结果。现在Mdb将结果提供给Server。当Server获得了它发送的每条消息的所有“结果”时,它会对来自W的结果进行更多计算,并将该结果返回给C

java - EJB3 企业应用程序作为门户和客户端 Web 应用程序 - 架构/设计

如上图所示,我有一个EJB-3企业应用程序(EAR文件),它充当门户并包含3个Web应用程序(WAR文件),它们与同一个数据存储进行通信和交易。这3个Web应用程序不是Portlet实现,而是通过企业应用程序的持久层与数据存储交互的普通Web应用程序。这些网络应用程序是独立开发的,因此,其中一些使用来自企业应用程序的Web服务,一些使用EJB客户端。此外,还有一个替代这些webapps(WebApp1、WebApp2和WebApp3)并使用独立的企业应用程序与数据库进行通信和交易的另一种选择,如下所示:现在,我的问题是:1)列出的2个选项(以上)中最好的选项是什么?2)当我们将那些充当

java - Stateless ejb 不删除池

我遇到了内存泄漏问题,因为EJB没有从池中删除。ejb是3.0并且是无状态的。Inmyjbossjmx-console4.3,thestatisticsofaparticularejblookslike:AvailableCount30MaxSize30CurrentSize5727CreateCount5727RemoveCount0我的问题是:为什么“删除计数”没有增加?并且“当前大小”大于“最大大小”? 最佳答案 伙计,你遇到了一个可怕的错误,其中SLSB没有被清除和泄漏......几周前我们在我们的生产环境中遇到了这个问题.

java - 如何为 jar 配置 log4j 日志记录?

我有一个项目A,其构建路径上有log4j.jar。我有许多具有以下形式的日志记录语句的类:Logger_log=Logger.getLogger(A..class);..._log.info("...");我正在将项目作为jar导出到另一个项目B。项目B已经有自己的log4jjar和它自己的.xml配置文件。我想配置A中的特定类以在不同的“级别”登录到控制台Apender。请问我该怎么做? 最佳答案 嗯,基本上,你不应该那样做。这样想:如果那样做,任何应用程序中包含的每个库都将托管自己的日志记录配置,很可能以非指定顺序覆盖应用程序中

java - Eclipse/Maven 和 "Resolve dependencies from workspace projects"不能混合 jar 和源?

我得到了Eclipse/Maven和“解决工作区项目的依赖关系”的极端案例。我的项目混合了编写的代码和生成的代码,生成的代码来自使用JAXWS的依赖项。问题是,如果我选中“解决依赖项”,Eclipse/Maven会忽略任何JAR依赖项并尝试仅通过查看工作区来解决所有问题,这会导致Eclipse显示诸如“找不到包/类”之类的错误(相关到生成的代码),即使该项目可以从命令行使用Maven正常构建。另一方面,如果我取消选中它,它会通过仅查看Maven存储库中的JAR来解决所有问题。第二个选项通常有效,但是当我在类或变量上执行类似Ctrl-click的操作时,我得到类文件编辑器和“找不到源”,