问题标签 [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.
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 表返回结果。我不知道我错过了什么。感谢您的时间。尤利亚
java - Glassfish/Toplink 和 sqljdbc.jar 在断开的数据库连接上永远重试
我将 Glassfish 和 Toplink 与 MS-SQL-Server 一起使用,因此 sqljdbc4.jar 用于连接到数据库。当数据库不可用(数据库服务器关闭)时,CPU 使用率上升到 100%,Glassfish 继续尝试永远连接。我的日志很快填满了以下消息:
有没有办法为与数据库的连接设置重试限制,或者在连接重试之间设置暂停超时?
如何让 Glassfish 抛出异常而不是尝试永远连接?
java - Glassfish 和 JBoss 5 的真实世界比较?
有没有人在现实世界中两者都有经验?它们在性能(内存使用、速度等)方面如何比较?稳定?
JBoss Seam 在 Glassfish 上运行良好吗?
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
我该如何解决这个问题?
提前致谢。
java - EJB 工厂类
我正在尝试创建一个 EJB 工厂类,它的工作原理如下:您有一个方法将 EJB 的类作为参数,然后它检查 EJB 是否具有远程接口(如果没有抛出异常)以及它是否确实,它返回相关的 EJB。
下面的代码正是这样做的。然而,它返回的对象是相关 bean 的远程接口类型,而不是 bean 本身的类型。我怎样才能改变这个?有没有办法告诉 Java 泛型类型 T 与传递给方法的类的类型相同。
}
使用工厂的单元测试示例。
注意:该示例适用于 Glassfish,我没有使用任何其他应用服务器对其进行测试。
java - 应用程序客户端 jar 的多个入口点(主类)
如何在应用程序客户端 jar 中设置多个入口点?
我正在使用 Glassfish 应用程序服务器。我可以抓住客户使用
我目前可以运行我在 MANIFEST.MF 中指定的默认主类。但是,我希望能够在运行时指定另一个主类。
IE
Main1 和 Main2 都有“public static void main”入口点。
如果我指定一个不在 MANIFEST.MF 中的主类,我会得到以下异常:
我是否需要进行任何更改才能让 appclient 引用其他主类?
java - Glassfish JNDI 树链接
我们在工作中使用 Glassfish v2 (9.1_02)。我们的服务器不是在集群环境中设置的。
我们希望有一台主服务器作为 JNDI 服务器,它可以为 DataSource 对象和将来可能的其他对象提供服务,并将其他服务器链接到这台服务器。这样,如果我们更改数据库的位置或更改密码,我们就不必更新多个服务器,而只需更新一个。
我的问题是:
- 这甚至是一个好主意吗?
- 是否可以在 Glassfish 中链接 JNDI 树?
- 我怎样才能做到这一点?
- 有没有人做到这一点?
谢谢
java - 将 Java se 客户端连接到 Glassfish
我们在将 Java SE 独立客户端与部署在远程 GlassFish 服务器上的 EJB 模块连接时遇到了一些困难。
我们应该如何连接我们的客户的指针将不胜感激。
我们当前必须获取初始上下文的客户端代码:
javax.naming.InitialContext ic = new javax.naming.InitialContext(props);
*我们尝试了几种不同的端口号;3700、7676、8080..
我们得到的最接近的结果是错误:“GIOP 魔法错误”。
我读到 jms 使用端口 7676 作为一堆动态生成的端口的代理端口,但无法弄清楚如何指定这些端口以创建正确的端口转发。
java - 向客户推荐 Glassfish
随着 Sun 被甲骨文收购,甲骨文无疑将获得 Glassfish 的控制权。
我确实理解 Glassfish 是社区驱动的,但此时大部分贡献确实来自 Sun。
它是一款出色的应用服务器,非常适合许多对成本敏感的客户。但是,如果甲骨文决定在这方面从我们的脚下撤出地毯,我们可能会遇到客户的严重麻烦。
对于生命周期约为 5 年的解决方案(应用程序),建议将 Glassfish 作为应用程序服务器是否仍然有意义?
java - 如何在 Java 应用程序服务器中创建自定义对象池
假设我在 Java 应用程序服务器中有一个消息驱动 bean (MDB)。MDB 从 JMS 队列接收消息并将其传递给消息处理器。就我而言,消息处理器是一个非常重的对象,需要大量初始化,因此我不想创建一个新的对象来处理每条消息。相反,我想提前创建一个消息处理器池并使用它们来处理消息。
所以,我的问题是:在 J2EE 应用服务器中构建这个池的“正确”方法是什么?是否有任何服务器内置支持定义自定义(非连接)对象池?在我将池塞进一个单例并希望最好之前,我想利用此模式的任何内置支持。尤其是:
- 如何定义/实例化池?
- 我如何进入游泳池?JNDI?
- 应用服务器提供哪些管理能力?
我知道如何实现一个对象池。我的问题主要是关于在 J2EE 应用服务器中创建一个池。
我打算使用 Glassfish,但如果 JBoss 或其他东西能让这更容易,我会很灵活。
谢谢!