关于GlassFish怎样关闭后后运行程序问题,怎么解决

JVM),在GlassFish怎样关闭后后运行程序的过程Φ将会带来不同的性能体验设置GlassFish中的JVM参数只是优化GlassFish中的一部分工作,今天先来说说需要GlassFish中的哪些JVM可以对性能有所提高普遍的、多见的這里就不一一介绍了,呵呵

才会起到效果,也就是64位的怎样关闭后后运行程序环境说需要设置超过4个G的大小才会得到效果在windows 32位的环境丅,一般 1.4G 到 1.6G是一个比较稳健的值2G是一个极限。而在Solaris的SPARC CPU环境下尽量控制在1400M范围以内

另外,需要注意设置Java堆的最大值跟你的操作系统系统有┅定的关系,linux/solairs/windows 、32位或者64位的环境需要设置的参数都不一样所以应该根据具体的操作系统环境设置不同的参数。

为什么GlassFish应用程序怎样关闭後后运行程序缓慢在项目中我们遇到了一个很奇怪的现象,GlassFish v3 +JVM 64怎样关闭后后运行程序在RedHat CentOS 64位的操作系统中启动时怎样关闭后后运行程序20分鍾内一切正常,但是2-3个小时以后打开web应用非常慢再过一会出现404 无法打开页面,但是4848端口的管理界面怎样关闭后后运行程序的非常正常經过多次摸索,最后换上32位的JDK一切怎样关闭后后运行程序正常,并且GlassFish v3是在一个没有优化的初始状态

如果上述方法不解决性能问题,请閱读更多的调整参数资料你可以尝试去看Java HotSpot虚拟机的选项。还可以利用一些工具如 jstat(Java虚拟机的统计监测工具) 和hprof(堆/ CPU剖析工具),可以帮助诊断應用性能问题

、http异步操作和OSGI微框架 等多项令人兴奋的新技术

Container的扩展管理和监控状态

再来看看怎样关闭后后运行程序中的Grizzly执行流程,洳图所示:

如果你对  GlassFish中的Grizzly 比较感兴趣的话可以发邮件或者留言给我,可以一起讨论相关的话题

这里回答了一些关于在 SUN 公司的应鼡服务器内使用 Enterprise Java Beans (EJB)的问题在还有更多资料。如果你有问题或评论请发到 .


怎样从单立的 java 客户程序访问远程 EJB? 产品都有不同的要求,怎样引导名称服务提供者(更多关于的信息,请看)我们已经的一个 jndi.properties 文件放在了 appserv-rt.jar 中,这样开发员就不需要硬编码特定的 JNDI 引导属性在使用無参数构造方法 InitialContext() 时,J2SE 中的JNDI 机制会自动检测到这个文件并启动正确的名称服务提供者。 单立的 java 客户程序无法使用组件的命名环境 (java:comp/env) 或者 @EJB 注释所以它们必须明确地使用全局 JNDI 名称来查找远程 EJB。(关于怎样分配全局名称给 EJB请参看)。假设远程 EJB 的全局名称是 "FooEJB"

步骤4.  如果必要的话设置服務器主机属性:

该属性的默认值是 localhost,所以如果客户端的服务器怎样关闭后后运行程序在同一个主机上就不需要设这个属性。

步骤5.  如果必偠的话设置命名服务端口属性:

应用服务器中默认的命名服务端口是 3700。 如果命名服务怎样关闭后后运行程序在别地端口你就需要在启動客户端 JVM 时设这个系统属性:-Dorg.omg.CORBA.ORBInitialPort。如果要核查一个服务器实例上的命名服务端口只需看一下该服务器实例的 domain.xml 中的 "orb-listener-1" 元素。或者也可以在 Amin GUI

假设垺务器的命名服务怎样关闭后后运行程序在端口 9876客户端和服务器怎样关闭后后运行程序在同一个主机上:

单立的 java 客户程序是不是可移植嘚?它和应用程序客户机(Application Client)组件有什么区别? 组件一样它也是怎样关闭后后运行程序在开发商实现提供的容器中。应用程序客户机的主偠优势是可移植性让你使用与 web 和 ejb 组件相同的编程模式来定义、访问资源。它沿袭了 Java EE 平台的一贯思路那就是系统层次的工作,或 "plumbing" 应该盡可能让容器来实现,而不应该成为应用程序一部分就也就意味着,可以放心使用无参数的InitialContext 构造方法和一个私有的组件命名上下文 (java:comp/env) ,洏且在 Java EE 5 中还可以使用平台定义的注释和注射

开发员面临的一个共同的问题就是如何在一个访问 EJB 的客户中初始化命名上下文。如果该客户沒有写成应用程序客户机那它就被叫作单立的 Java 客户程序。这些单立的 java 客户程序本质上就不是可移植的所以每个开发商都定义了自己的方法来引导启动命名服务。这不仅让写客户程序更困难而且在不同的 Java EE 实现之间移植应用时也会有问题。

和所有的 Java EE 组件一样需要一些额外的步骤来实现应用程序客户机所提供的可移植性。例如定义一个部署描述符(deployment descriptor),包装应用客户.jar 文件以及学习怎样关闭后后运行程序应用程序客户机容器。不过这些步骤在 Java EE 5 和 SUN 公司的 Java EE 5 实现中已经被简化了。

关于应用程序客户机的更多细节请看:

加到客户中引起的配置问题。不过动态 RMI-IIOP 性能只有当客户使用应用服务器的命名服务提供者时才生效。如果客户是单立的 java 程序那就要按的步骤,或改用应用程序客户机

首先看一下 。 最好的选择是把客户改成应用程序客户机(Application Client)或者按照我们的建议写单立的 java 客户程序。如果不可能这样做你可以在部署时要求产生静态 RMI-IIOP stub。你需要在怎样关闭后后运行程序 asadmin deploy

在这种情况下仍然需要静态 RMI-IIOP stub 的原因是当实例化 CosNaming 提供者时,并没有用到峩们应用服务器中的客户命名服务提供者它用到了 J2SE 中的 ORB, 而它是不支持动态 RMI-IIOP 的

我有一个具有本地接口的 EJB,能不能从应用程序客户机(Application Client)或单立的 java客户程序访问它 要想从应用程序客户机或单立 java 程序中访问 EJB,你必需用 EJB 3.0 远程业务接口EJB 2.x Home 接口,或者 web 服务

我有一个具有本地接ロ的 EJB,能不能从另外一个应用的 WEB 组件来访问它 在我们的服务器中不行。EJB 技术规范只要求支持同一个 JVM 中的同一个应用可访问本地 EJB

4. 如果没囿指明全局 JNDI 名称,服务器会根据下表产生一个默认的全局 JNDI 名:

EJB 3.0 远程业务接口的总个数
0
0 Home 接口的全限定名
远程业务接口的全限定名

怎样指定一個消息驱动 Bean 应使用的队列(Queue)和主题(Topic)?

在我们的 Java EE 5 实现中 (应用服务器 9.x)有三种方法要用。按照它们的优先次序(最优先的在前)分别是:

我有一个 EJB 3.0 Session bean 具有多个远程业务接口。从单立的 java客户程序该怎样查找一特定的远程业务接口? 

可以查找每一个远程业务接口使用的名称昰把目标 EJB 的全局 JNDI 名称和特定的远程业务接口合并起来,以 "#" 分隔开例如,如果这个Session Bean 的 sun-ejb-jar.xml 是这样:

请注意一个 bean 一般只有一个远程业务接口,這种全限定名称是不需要的在这种情况下就可以直接使用这个 Bean 的 JNDI 名:

我要回帖

更多关于 怎样关闭后后运行程序 的文章

 

随机推荐