小编Joy*_*ysn的帖子

Eclipse服务器插件:完整发布与增量发布

将企业应用程序部署到服务器(例如Glassfish或JBoss)时,完全发布和增量发布之间有什么区别?

我看到部署的artefacts树中列出了几个模块,但是当我在Web存档上使用增量发布时会发生一些事情,但是没有部署.通过完整发布,可以部署整个EAR,libs,EJB归档和WAR.

eclipse deployment publish

13
推荐指数
1
解决办法
5806
查看次数

如何使用堆转储识别Java Memory Analyzer中对象的引用持有者

由于我对应用程序的OutOfMemoryErrors有一些问题,我想确定根本原因.我从AIX服务器上的IBM VM创建了堆转储(PHD),并尝试使用IBM Support assistant 4.1及其Memory Analyzer工具对其进行分析.

解析堆转储时,ISA会询问我是否要运行泄漏可疑报告.

使用泄漏方面的支持,我得到了一些消耗大量内存的类的信息.

我现在想要识别的是对象引用的持有者,但我可以例如只看到ArrayList包含哪些对象,而不是谁拥有对该ArrayList的引用.

我怎样才能获得这些信息?

java memory memory-leaks out-of-memory

5
推荐指数
1
解决办法
4334
查看次数

Java EE 6:使用依赖项控制托管bean的启动:CDI,EJB

我刚刚阅读了各种托管bean及其关于Java EE 6 @ javax.annotation.ManagedBean与@ javax.inject.Named与@ javax.faces.ManagedBean的关系的非常好的解释,因为我面临一个烦人的问题.应用程序我想知道是否可以控制或影响bean的启动方式和方式.

在我的Java EE应用程序中,我使用EJB,CDI和JSF2作为视图技术.通过SPI启动来自第三方的服务,它配置一个作业执行程序,它启动作业并处理其他与计时器相关的内容.当作业执行程序完成引导时,会立即执行一项任务.此作业使用CDI注入来访问某些bean,其中一个bean使用EJB.

现在的问题是Java EE 6服务器(JBoss 7.1.1)启动EJB的大部分时间仍然不可用,然后作业尝试访问它.抛出异常并且作业失败并构建服务以停用该失败的作业.好吧,停用一个faild工作似乎并不太糟糕.该作业再次启动和运行的唯一解决方案是取消部署并再次重新部署它.遗憾的是,这是一个手动任务,无法以编程方式完成.

并且,为了使事情变得糟糕:在极少数情况下,这不会发生.

所以,我现在的问题是:我可以以某种方式控制EJB和CDI bean的初始化和部署,以便我可以确保在初始化CDI bean之前初始化所有EJB bean吗?

我已经在EARs application.xml中将initialize-in-order设置为true并设置了EJB的顺序,以便它们以我需要的方式初始化(​​EJB核心,然后是EJB业务,然后是WAR),但是基于CDI的服务作为JAR放在lib文件夹中.

cdi ejb-3.0 java-ee-6

4
推荐指数
1
解决办法
6074
查看次数