问题标签 [glassfish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
457 浏览

jpa - 如何从 EntityManager 的 find 中调试/修复永久的 null 返回?

我正在关注这个例子 。每当调用 find 时,我都会收到此错误: java.lang.NullPointerException at LoginAction.service(LoginAction.java:41) at Dispatcher.doWork(Dispatcher.java:82) at Dispatcher.doGet(Dispatcher.java:64) at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

我不知道从哪里开始寻找。第 41 行是 operator.findOperator(1),其中 @EJB private OperatorBeanService operator;

我正在尝试在 Glassfish 2.1 上执行此操作。这就是坚持:

<persistence-unit name="persistMe" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>jdbc/peciu</jta-data-source> <properties> <property name="eclipselink.jdbc.batch-writing" value="JDBC"/> <property name="eclipselink.target-database" value="myDB"/> <property name="eclipselink.target-server" value="host"/> <property name="eclipselink.logging.level" value="ALL"/> </properties> </persistence-unit>

我用这种持久性尝试了一个单独的 JPA 项目: <persistence-unit name="OperatorService" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>Operator</class> <properties> <property name="eclipselink.jdbc.batch-writing" value="JDBC"/> <property name="eclipselink.jdbc.driver" value="COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver"/> <property name="eclipselink.jdbc.url" value="jdbc:db2://host:50000/myDB"/> <property name="eclipselink.jdbc.user" value="user"/> <property name="eclipselink.jdbc.password" value="pass"/> </properties> </persistence-unit> 它工作得很好,从 OPERATOR 表返回结果。我不知道我错过了什么。感谢您的时间。尤利亚

0 投票
2 回答
1544 浏览

java - Glassfish/Toplink 和 sqljdbc.jar 在断开的数据库连接上永远重试

我将 Glassfish 和 Toplink 与 MS-SQL-Server 一起使用,因此 sqljdbc4.jar 用于连接到数据库。当数据库不可用(数据库服务器关闭)时,CPU 使用率上升到 100%,Glassfish 继续尝试永远连接。我的日志很快填满了以下消息:

p>

有没有办法为与数据库的连接设置重试限制,或者在连接重试之间设置暂停超时?

如何让 Glassfish 抛出异常而不是尝试永远连接?

0 投票
6 回答
15451 浏览

java - Glassfish 和 JBoss 5 的真实世界比较?

有没有人在现实世界中两者都有经验?它们在性能(内存使用、速度等)方面如何比较?稳定?

JBoss Seam 在 Glassfish 上运行良好吗?

0 投票
5 回答
34051 浏览

java - 如何在远程 Glassfish 服务器上激活 JMX 以使用 jconsole 进行访问?

我想监控远程 glassfish 服务器。我在 domain.xml 中启用了 JMX 连接:

但这没有帮助。我仍然无法使用 JConsole 连接到服务器。然后我找到了解决方案 - 我需要在 domain.xml 中指定 JVM 属性以打开 8686 端口进行远程连接。所以我将此行添加到java-config部分:

但是现在当我启动服务器时,出现以下错误:

无法加载 Logmanager “com.sun.enterprise.server.logging.ServerLogManager” java.lang.ClassNotFoundException: com.sun.enterprise.server.logging.ServerLogManager at java.net.URLClassLoader$1.run(URLClassLoader.java:200)在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader .loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.util.logging.LogManager$1.run(LogManager.java:166) 在 java.security.AccessController.doPrivileged (本机方法)在 java.util.logging.LogManager.(LogManager.java:156) 在 java.util.logging.Logger。getLogger(Logger.java:273) 在 sun.management.snmp.util.MibLogger.(MibLogger.java:57) 在 sun.management.snmp.util.MibLogger.(MibLogger.java:42) 在 sun.management.jmxremote .ConnectorBootstrap.(ConnectorBootstrap.java:760) 在 sun.management.Agent.startAgent(Agent.java:127) 在 sun.management.Agent.startAgent(Agent.java:239) javax.management.JMRuntimeException: 无法加载 MBeanServerBuilder com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder 类:java.lang.ClassNotFoundException:com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder 在 javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java :480) 在 javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511) 在 javax。management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298) at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213) at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:174) at sun.management.ManagementFactory.createPlatformMBeanServer (ManagementFactory.java:302) 在 java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504) 在 sun.management.jmxremote.ConnectorBootstrap.initialize(ConnectorBootstrap.java:392) 在 sun.management.Agent.startAgent( Agent.java:127) 在 sun.management.Agent.startAgent(Agent.java:239) 引起:java.lang.ClassNotFoundException: com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder 在 java.net。 URLClassLoader$1。在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 的 java.security.AccessController.doPrivileged(Native Method) 运行(URLClassLoader.java:200)在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 javax.management.MBeanServerFactory.loadBuilderClass(MBeanServerFactory.java:423) 在 javax。 management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java:465) ... 9 更多代理引发的异常:javax.management.JMRuntimeException:无法加载 MBeanServerBuilder 类 com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder: java.lang.ClassNotFoundException:com.sun.enterprise.admin.server。core.jmx.AppServerMBeanServerBuilder

我该如何解决这个问题?

提前致谢。

0 投票
4 回答
5569 浏览

java - EJB 工厂类

我正在尝试创建一个 EJB 工厂类,它的工作原理如下:您有一个方法将 EJB 的类作为参数,然后它检查 EJB 是否具有远程接口(如果没有抛出异常)以及它是否确实,它返回相关的 EJB。

下面的代码正是这样做的。然而,它返回的对象是相关 bean 的远程接口类型,而不是 bean 本身的类型。我怎样才能改变这个?有没有办法告诉 Java 泛型类型 T 与传递给方法的类的类型相同。

}

使用工厂的单元测试示例。

注意:该示例适用于 Glassfish,我没有使用任何其他应用服务器对其进行测试。

0 投票
1 回答
1852 浏览

java - 应用程序客户端 jar 的多个入口点(主类)

如何在应用程序客户端 jar 中设置多个入口点?

我正在使用 Glassfish 应用程序服务器。我可以抓住客户使用

我目前可以运行我在 MANIFEST.MF 中指定的默认主类。但是,我希望能够在运行时指定另一个主类。

IE

Main1 和 Main2 都有“public static void main”入口点。

如果我指定一个不在 MANIFEST.MF 中的主类,我会得到以下异常:

我是否需要进行任何更改才能让 appclient 引用其他主类?

0 投票
1 回答
769 浏览

java - Glassfish JNDI 树链接

我们在工作中使用 Glassfish v2 (9.1_02)。我们的服务器不是在集群环境中设置的。

我们希望有一台主服务器作为 JNDI 服务器,它可以为 DataSource 对象和将来可能的其他对象提供服务,并将其他服务器链接到这台服务器。这样,如果我们更改数据库的位置或更改密码,我们就不必更新多个服务器,而只需更新一个。

我的问题是:

  1. 这甚至是一个好主意吗?
  2. 是否可以在 Glassfish 中链接 JNDI 树?
  3. 我怎样才能做到这一点?
  4. 有没有人做到这一点?

谢谢

0 投票
2 回答
3055 浏览

java - 将 Java se 客户端连接到 Glassfish

我们在将 Java SE 独立客户端与部署在远程 GlassFish 服务器上的 EJB 模块连接时遇到了一些困难。

我们应该如何连接我们的客户的指针将不胜感激。

我们当前必须获取初始上下文的客户端代码:

javax.naming.InitialContext ic = new javax.naming.InitialContext(props);

*我们尝试了几种不同的端口号;3700、7676、8080..

我们得到的最接近的结果是错误:“GIOP 魔法错误”。

我读到 jms 使用端口 7676 作为一堆动态生成的端口的代理端口,但无法弄清楚如何指定这些端口以创建正确的端口转发。

0 投票
2 回答
298 浏览

java - 向客户推荐 Glassfish

随着 Sun 被甲骨文收购,甲骨文无疑将获得 Glassfish 的控制权。

我确实理解 Glassfish 是社区驱动的,但此时大部分贡献确实来自 Sun。

它是一款出色的应用服务器,非常适合许多对成本敏感的客户。但是,如果甲骨文决定在这方面从我们的脚下撤出地毯,我们可能会遇到客户的严重麻烦。

对于生命周期约为 5 年的解决方案(应用程序),建议将 Glassfish 作为应用程序服务器是否仍然有意义?

0 投票
3 回答
2414 浏览

java - 如何在 Java 应用程序服务器中创建自定义对象池

假设我在 Java 应用程序服务器中有一个消息驱动 bean (MDB)。MDB 从 JMS 队列接收消息并将其传递给消息处理器。就我而言,消息处理器是一个非常重的对象,需要大量初始化,因此我不想创建一个新的对象来处理每条消息。相反,我想提前创建一个消息处理器池并使用它们来处理消息。

所以,我的问题是:在 J2EE 应用服务器中构建这个池的“正确”方法是什么?是否有任何服务器内置支持定义自定义(非连接)对象池?在我将池塞进一个单例并希望最好之前,我想利用此模式的任何内置支持。尤其是:

  • 如何定义/实例化池?
  • 我如何进入游泳池?JNDI?
  • 应用服务器提供哪些管理能力?

我知道如何实现一个对象池。我的问题主要是关于在 J2EE 应用服务器中创建一个池。

我打算使用 Glassfish,但如果 JBoss 或其他东西能让这更容易,我会很灵活。

谢谢!