简体   繁体   English

Java EE和Glassfish不稳定

[英]Java EE & Glassfish unstability

I'm using JavaEE 6, EJB3, JSF2 and JPA to develop a web shop, backend logic and desktop administration application for all that. 我正在使用JavaEE 6,EJB3,JSF2和JPA来开发一个网店,后端逻辑和桌面管理应用程序。 I'm using Netbeans 7 and Glassfish for that. 我正在为此使用Netbeans 7和Glassfish。

Among a lot of stability issues I am having with Glassfish, I guess, one of them is really bugging. 我想,Glassfish存在很多稳定性问题,其中之一确实是令人烦恼的问题。 And when it creeps up there is literally no way to fix it until it goes by itself and everything continues working for a short period of time until it comes back. 当它爬上来时,实际上没有办法修复它,除非它自己消失并且一切都会在短时间内继续工作直到它回来。

It reflects itself as the EJB module stops working. 当EJB模块停止工作时,它反映了自身。 The web application runs and the desktop runs but neither can access the EJB's. Web应用程序运行,桌面运行,但两者都无法访问EJB。 The usual messages in the Glassfish Server ouput when running the EAR are something like: 运行EAR时,Glassfish服务器输出中的常见消息如下:

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ManagerBeanRemote 警告:注释处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / ManagerBeanRemote

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/SubcategoryBeanRemote WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ProductBeanRemote 警告:批注处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / SubcategoryBeanRemote警告:批注处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / ProductBeanRemote

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/CategoryBeanRemote 警告:注释处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / CategoryBeanRemote

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ManagerBeanRemote 警告:注释处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / ManagerBeanRemote

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/SubcategoryBeanRemote 警告:批注处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / SubcategoryBeanRemote

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/ProductBeanRemote 警告:批注处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / ProductBeanRemote

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: rs/elfak/eposlovanje/beans/CategoryBeanRemote 警告:注释处理中的错误:java.lang.NoClassDefFoundError:rs / elfak / eposlovanje / beans / CategoryBeanRemote

SEVERE: Class [ Lrs/elfak/eposlovanje/beans/CategoryBeanRemote; 严重:类[Lrs / elfak / eposlovanje / beans / CategoryBeanRemote; ] not found. ] 未找到。 Error while 发生错误时

loading [ class exercise.UiBean ] 加载[class Exercise.UiBean]

SEVERE: Class [ Lrs/elfak/eposlovanje/beans/CategoryBeanRemote; 严重:类[Lrs / elfak / eposlovanje / beans / CategoryBeanRemote; ] not found. ] 未找到。 Error while loading [ class exercise.UiBean ] 加载[class Exercise.UiBean]时出错

That leads to my CDI bean crashing, that's the thing called UiBean (I didn't go far enough so the naming is just temporary). 这导致我的CDI bean崩溃,这就是所谓的UiBean (我走得还不够远,所以命名只是暂时的)。

Down the glassfish console it also shows an error loading UiBean caused by: 在glassfish控制台下,它还显示由于以下原因导致加载UiBean时出错:

org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class exercise.UiBean . org.jboss.weld.resources.spi.ResourceLoadingException:加载类exercise.UiBean时出错。 . .

Caused by: java.lang.NoClassDefFoundError: Lrs/elfak/eposlovanje/beans/CategoryBeanRemote; 由以下原因引起:java.lang.NoClassDefFoundError:Lrs / elfak / eposlovanje / beans / CategoryBeanRemote; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2317) at java.lang.Class.getDeclaredFields(Class.java:1762)... 在java.lang.Class.getDeclaredFields0(本机方法)在java.lang.Class.privateGetDeclaredFields(Class.java:2317)在java.lang.Class.getDeclaredFields(Class.java:1762)...

And so on for each EJB. 对于每个EJB,依此类推。 The xxxRemote items are actually remote interfaces, the EJBs are named like that but without the Remote postfix. xxxRemote项实际上是远程接口,EJB的名称是这样,但没有Remote postfix。

Sometimes I get an error related to JPA, as it can't create a table or execute a SQL (sometimes it tries to drop tables although the persistance.xml is set up not to create tables). 有时我会收到与JPA相关的错误,因为它无法创建表或执行SQL(有时会尝试删除表,尽管将persistanceance.xml设置为不创建表)。 But that usually goes away after hitting Run a couple of times. 但这通常在单击“运行”两次后消失。

What can be done concerning this? 对此该怎么办? I've Googled up a couple of solutions, such as cleaning some Netbeans cache in AppData, re-adding the ejb and war projects, copying libs around, but nothing really cuts it. 我已经找到了一些解决方案,例如清除AppData中的某些Netbeans缓存,重新添加ejb和war项目,在周围复制库,但没有什么能真正减少它的。

Should I try some other application server, because it looks to me that it's the source of my problems? 我是否应该尝试其他应用程序服务器,因为在我看来这是问题的根源?

在其他几个工作站毫无问题地加入了该项目之后,我清理了重新安装的Glasfish服务器和Netbeans,使其继续正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM