标签: jboss

Tomcat,JBoss和Glassfish有什么区别?

我开始研究Enterprise Java,我正在阅读的书中提到它将使用JBoss.Netbeans随Glassfish一起发货.我过去使用过Tomcat.

这三个项目有什么区别?

java enterprise jboss tomcat glassfish

440
推荐指数
7
解决办法
30万
查看次数

使用HeapDumpOnOutOfMemoryError参数进行JBoss的堆转储

有人告诉我,我可以将-XX:+HeapDumpOnOutOfMemoryError参数添加到我的JBoss启动脚本的JVM启动选项中,以便在我们的应用程序中出现内存不足错误时获取堆转储.我想知道这些数据被丢弃的位置?它只是到控制台,还是一些日志文件?如果仅仅是控制台,如果我没有通过控制台登录Unix服务器怎么办?

java heap jboss memory-leaks

177
推荐指数
3
解决办法
24万
查看次数

将现有JNDI HornetQ服务作为HA的步骤?

TL; DR

使用HornetQ设置配置HA-JNDI服务的步骤是什么?我相信文档有点分散.我在这里阅读了文档,但似乎没有详细说明.

更长的版本:

所以我们有一个HornetQ JMS设置和JNDI.我们已经说了5台服务器,每台服务器运行带有JNDI服务的HornetQ JMS主实例.在这5台服务器中的每台服务器上,我们还有一台运行其他HornetQ主机的从机.

为了显示:

Server A - HornetQa_master, JNDI, HornetQb_slave
Server B - HornetQb_master, JNDI, HornetQc_slave
Server C - HornetQc_master, JNDI, HornetQd_slave
Server D - HornetQd_master, JNDI, HornetQe_slave
Server E - HornetQe_master, JNDI, HornetQa_slave
Run Code Online (Sandbox Code Playgroud)

这些HornetQ服务器中的每一个都充当我们各种后端需求的中间件,因此这意味着5个服务器,5个HornetQ主实例,5个HornetQ从属实例和5个JNDI服务器.然而,这个设置的问题是,如果服务器主机(不仅仅是进程,主机本身),说A发生故障,理想情况下服务应该回退到运行在服务器E上的HornetQ,后者托管A的HornetQ从站.但是,要继续作为HornetQ master,HornetQa_slave需要与在服务器A上运行的JNDI进程通信(我假设要复制消息).由于主机A本身已关闭,因此在E上运行的HornetQa_slave无法与A上的JNDI通信,因此无法作为主进程恢复.

如果JNDI服务高度可用,则从属HornetQ进程可以按预期恢复为主服务器.任何人都可以指向文档或简单说明我们如何将现有设置转换为HA-JNDI?对于它的价值,我已经阅读了多个来源,但它似乎没有详细说明如何配置HA-JNDI.如果您需要有关我们当前设置的更多信息,请与我们联系.

谢谢

java jboss jndi hornetq

177
推荐指数
1
解决办法
2977
查看次数

JBoss再次与Tomcat对战

这似乎是一个古老的问题(它是:))Tomcat和JBoss之间哪个服务器更好,但我还没有找到足够好的答案来解决我的问题.

我知道Tomcat只是一个servlet引擎,而且JBoss提供了更多功能,但是我无法理解为什么Tomcat在某些情况下比jboss更好用.我在某处读到JBoss有一个可插拔的架构,如果需要,你可以拔掉JBoss的功能,使其基本上成为一个tomcat servlet容器.如果是这种情况,那么这样做是不是更好,而不是使用Tomcat,以便留下重新插入的东西.

我发现有利于Tomcat的另一个解释是它是轻量级的,这意味着更少的内存需求,或者是否也允许更快的响应.同样,我需要知道jboss不会按照要求加载组件,即如果我只使用servlet,那么jboss将不会跳过其余的功能并自动变为轻量级.

本质上,我的应用程序没有任何Java EE功能,但由于上述原因,支持Tomcat的"轻量级"参数听起来不够令人信服.

请帮忙.

编辑:我们当时最终决定使用tomcat,我们已经使用它超过6个月,非常容易使用.事实上,我们发现了一些实际用途,我们可以在同一台服务器上为不同的开发人员轻松运行多个tomcat实例,jboss也是如此.

我发现tomcat对我们的工作没有任何麻烦,因此当你没有使用大量的Java EE功能时,它可能是正确的选择.PS:请注意我们仍然使用Spring和Hibernate与Tomcat

jboss tomcat

138
推荐指数
4
解决办法
16万
查看次数

您现在可以使用JBoss或Glassfish(或其他)作为新项目的Java EE服务器吗?

如果您今天启动了一个新的Java EE项目,该项目将在大约一年内完成,您会选择哪个应用程序服务器?为什么?

你的部分答案应包括你的决定论据.您还可以选择使用Java EE服务器以及市场上其他可用服务器的经验.这些都很有趣,因为我们都对你的答案中的调查和思想有所了解.

java jboss glassfish java-ee

136
推荐指数
4
解决办法
6万
查看次数

PSQLException:当前事务被中止,命令被忽略直到事务块结束

我在JBoss 7.1.1 Final的server.log文件中看到以下(截断的)stacktrace:

Caused by: org.postgresql.util.PSQLException: 
ERROR: current transaction is aborted, commands ignored until end of 
transaction block

at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:302)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_23]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_23]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_23]
at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
at $Proxy49.executeUpdate(Unknown Source)   at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:371)
at org.infinispan.loaders.jdbc.TableManipulation.executeUpdateSql(TableManipulation.java:154) [infinispan-cachestore-jdbc-5.1.2.FINAL.jar:5.1.2.FINAL]
... 154 more
Run Code Online (Sandbox Code Playgroud)

检查Postgres日志文件会显示以下语句:

STATEMENT:  SELECT count(*) FROM ISPN_MIXED_BINARY_TABLE_configCache
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  CREATE TABLE ISPN_MIXED_BINARY_TABLE_configCache(ID_COLUMN VARCHAR(255) NOT …
Run Code Online (Sandbox Code Playgroud)

postgresql jboss infinispan

132
推荐指数
9
解决办法
20万
查看次数

@ManyToOne属性不允许@Column

我有一个JPA实体,其属性设置为

@ManyToOne
@Column(name="LicenseeFK")
private Licensee licensee;
Run Code Online (Sandbox Code Playgroud)

但是当我在JBoss 6上部署时,应用程序会抛出一个错误:

org.hibernate.AnnotationException: @Column(s) not allowed on a @ManyToOne property
Run Code Online (Sandbox Code Playgroud)

我使用Hibernate 3.5作为JPA 2.0实现.

我应该用什么来引用外键列?

java jboss annotations hibernate jpa

131
推荐指数
3
解决办法
6万
查看次数

启动jboss服务器时出错

我刚刚完成了我的操作系统的重新安装,并且一如既往地安装和测试我使用的标准工具,现在我从前面尝试从eclipse启动Jboss 5时遇到了这个错误,这是一个非常大的例子:

3:53:10,693 ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described
java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]
    at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:395)
    at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:153)
    at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)
    at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80)
    at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:282)
    at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:103)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
    at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
    at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
    at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66)
    at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
    at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
    at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
    at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
    at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:319)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:297)
    at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130)
    at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76)
    at org.jboss.bootstrap.microcontainer.TempBasicXMLDeployer.deploy(TempBasicXMLDeployer.java:91)
    at org.jboss.bootstrap.microcontainer.TempBasicXMLDeployer.deploy(TempBasicXMLDeployer.java:161)
    at org.jboss.bootstrap.microcontainer.ServerImpl.doStart(ServerImpl.java:138) …
Run Code Online (Sandbox Code Playgroud)

java eclipse jboss jboss5.x

99
推荐指数
1
解决办法
9万
查看次数

如何更改webservice url端点?

我使用来自wsdl'的Eclipse'Web服务客户端,使用JBoss utils(JAX-WS兼容)生成了一个Web服务客户端.

所以,我提供的唯一内容是Web服务WSDL的URL.

现在,Web服务提供商告诉我更改Web服务的"客户端端点应用程序访问的URL".

它是什么以及如何改变它?

java jboss web-services jax-ws

98
推荐指数
2
解决办法
19万
查看次数

从Java/JPA调用存储过程

我正在编写一个简单的Web应用程序来调用存储过程并检索一些数据.它是一个非常简单的应用程序,它与客户端的数据库进行交互.我们传递员工ID和公司ID,存储过程将返回员工详细信息.

Web应用程序无法更新/删除数据并且正在使用SQL Server.

我正在Jboss AS中部署我的Web应用程序.我应该使用JPA来访问存储过程或CallableStatement.在这种情况下使用JPA的任何优点.

另外,调用此存储过程的sql语句是什么.我之前从未使用过存储过程,而且我正在努力解决这个问题.谷歌没有多大帮助.

这是存储过程:

CREATE procedure getEmployeeDetails (@employeeId int, @companyId int)
as
begin
    select firstName, 
           lastName, 
           gender, 
           address
      from employee et
     where et.employeeId = @employeeId
       and et.companyId = @companyId
end
Run Code Online (Sandbox Code Playgroud)

更新:

对于其他任何使用JPA调用存储过程的问题.

Query query = em.createNativeQuery("{call getEmployeeDetails(?,?)}",
                                   EmployeeDetails.class)           
                                   .setParameter(1, employeeId)
                                   .setParameter(2, companyId);

List<EmployeeDetails> result = query.getResultList();
Run Code Online (Sandbox Code Playgroud)

我注意到的事情:

  1. 参数名称对我不起作用,因此请尝试使用参数索引.
  2. 更正sql语句{call sp_name(?,?)}而不是 call sp_name(?,?)
  3. 如果存储过程返回结果集,即使您只知道一行,也getSingleResult不会工作
  4. 传递resultSetMapping名称或结果类详细信息

java sql jboss stored-procedures jpa

91
推荐指数
8
解决办法
24万
查看次数