Articles of jboss

强化JBoss以在Windows上进行生产使用的步骤?

寻找关于在Windows上强化JBoss安装以供生产使用的资源/指导。

JBoss在启动时抛出错误,查找本地地址

您好,即时通讯在Centos 5.5机器上安装新的Jboss 5.1。 我没有安装Apache。 所以当我尝试使用命令./run.sh启动jboss时,出现以下错误 15:13:57,414 INFO [JMXKernel] Legacy JMX core initialized 15:14:03,856 ERROR [ServerInfo] Error looking up local address java.net.UnknownHostException: dhcppc1: dhcppc1 at java.net.InetAddress.getLocalHost(InetAddress.java:1354) at org.jboss.system.server.ServerInfo.getHostAddress(ServerInfo.java:364) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) …. 之后,我只能从127.0.0.1:8080运行Jboss,但使用localhost:8080不起作用。 我认为它是一个centos的configuration问题,但是我可能是一个总pipe理端口,也许是防火墙的newbye,那么你认为这个问题可能是什么?

怎么办:Arjuna RecoveryManager启动失败:SocketProcessId.getpid无法获得唯一的端口

当启动一个新的JBoss 6.1实例时,我从Arjuna Recovery Manager中得到以下错误,我相信它是jboss-ts事务服务包的一部分。 此错误会阻止Web服务器正常启动,因为恢复pipe理器是它的依赖项。 Arjuna版本4.14.0用于这个版本的jboss。 从源头上看,除了那个致命的错误之外,在恢复pipe理器初始化过程中似乎没有任何日志logging调用,这使得debugging问题更加困难。 这是问题的错误堆栈跟踪: 09:14:02,946错误[AbstractKernelController]错误安装到创build:名称= RecoveryManager状态=configuration:com.arjuna.ats.arjuna.exceptions.FatalError:ARJUNA-12359 SocketProcessId.getpid无法获得唯一的端口。 在com.arjuna.ats.internal.arjuna.utils.SocketProcessId。 SocketProcessId.java:82)[:6.1.0.Final] … Java库[1.6.0_26] 在com.arjuna.ats.arjuna.utils.Utility.getProcess(Utility.java:348)com.arjuna.ats.arjuna.utils.Utility.initDefaultProcess(Utility.java:336)[:6.1.0.Final] com.arjuna.ats.arjuna.utils.Utility.getpid(Utility.java:287)[:6.1.0.Final]在com.arjuna.ats.arjuna.common.Uid上的[:6.1.0.Final]。 (Uid.java:84)[:6.1.0.Final],com.arjuna.ats.arjuna.StateManager。(StateManager.java:829)[:6.1.0.Final],com.arjuna.ats.arjuna。 (com.arjuna.ats.arjuna.coordinator.BasicAction。)(BasicAction.java:65)[:6.1.0.Final]在com.arjuna处的状态pipe理器(StateManager.java:802)[:6.1.0.Final]。 ats.arjuna.coordinator.TwoPhaseCoordinator。(TwoPhaseCoordinator.java:58)[:6.1.0.Final] at com.arjuna.ats.arjuna.AtomicAction。(AtomicAction.java:71)[:6.1.0.Final] at (AtomicActionRecoveryModule.java:263)[:6.1.0.Final] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)… Java库[1.6.0_26 ]>在com.arjuna.ats.internal.arjuna.rec overy.PeriodicRecovery.loadModule(PeriodicRecovery.java:893)[:6.1.0.Final] 编辑:我们find了这个罪魁祸首。 我们的/ etc / network / interfaces被破坏,导致localhost的loopback接口closures。 破碎: auto lo,eth0 固定: auto lo eth0 获得的经验:仔细检查你的服务器configuration,不要责怪JBoss的一切。 为这个问题提供的最常见的解决scheme是修复像Bartbuild议的/ etc / hosts。 不幸的是,我们是由于另一个configuration问题。

在JBoss上使用apache Mod_proxy_loadbalancer

我们使用4个后端JBoss的Apache mod_proxy_loadbalancer,这里是后端服务器的configuration: <Proxy balancer://www> Allow from all BalancerMember x.11:8080/APP route=node11 timeout=600 ttl=7200 BalancerMember x.12:8080/APP route=node12 timeout=600 ttl=7200 BalancerMember x.12:8081/APP route=node122 timeout=600 ttl=7200 BalancerMember x.14:8080/APP route=node14 timeout=600 ttl=7200 ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On </Proxy> ProxyPass /APP balancer://www/ stickysession=JSESSIONID|jsessionid nofailover=On ProxyPassReverse /APP balancer://www/ 我们的问题是请求不平衡,其中大部分去“node12”,这里是平衡器pipe理器的状态: LoadBalancer Status for balancer://www StickySession Timeout FailoverAttempts Method JSESSIONID|jsessionid 0 3 byrequests Worker URL […]

运行带有Runit / daemontools或其他进程监督框架的JBoss 6

我试图用runit来守护JBoss。 我使用/opt/jboss-6.1.0.Final/bin/run.sh脚本启动服务器。 当我从命令行中这样做的时候,JBoss不会分离(这是我们想要的),并且在CTRL + C被按下时也会closures。 理论上来说是一个完美的候选人使用runit。 除非我试图让runitclosuresJBoss,否则一切正常。 当我发出命令sv stop jboss没有任何反应。 Runit认为这个过程已经停止,但是jboss继续正常运行。 我没有做任何特别的run脚本。 这是我的runit run脚本: #!/bin/sh exec 2>&1 exec /opt/jboss-6.1.0.Final/bin/run.sh -c standard -b 0.0.0.0 查看jboss_init_redhat.sh脚本, start部分提到了./bin/run.sh但是停止部分具有以下文本: JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown –shutdown"} 任何想法,我可以尝试?

反向代理和Java应用服务器安全

是否有可能使反向代理(Apache HTTP 2.2)处理身份validation(HTTP Basic),然后仍然使用Java应用程序服务器(GlassFish 3.1或JBoss 7.0.2)的容器pipe理的安全性进行授权? 我有GlassFish做容器pipe理的安全(authentication和授权在一起),同时使用声明和程序化的容器安全性与基于表单的身份validation和自定义的GlassFish身份validation模块。 我甚至通过使用mod_proxy_ajp的Apache HTTP Web服务器反向代理来实现这个工作。 现在我只是试图find一种方法来卸载身份validation件到Apache,同时保持容器pipe理的安全授权片。 也许在Java应用程序服务器中有一个单点login接口,这将有助于实现这一点(因为这就像SSO – Apache需要对身后所有东西进行身份validation)?

mod_ajp_proxyconfiguration和会话粘性

我有一个jboss和Apache设置托pipe我的.war文件。 我已经启用会话粘性转发请求从Apache到JBoss。 假设我有2个apache和2个jboss实例。 以下设置是否正确? 当前会话粘性不起作用,每次请求都附加一个新的JSESSSION ID。 <Proxy balancer://cluster> Order deny,allow Allow from all BalancerMember ajp://1.1.1.1:8010/testing keepalive=On loadfactor=1 ping=10 ttl=600 BalancerMember ajp://2.2.2.2:8010/testing keepalive=On loadfactor=1 ping=10 ttl=600 </Proxy> ProxyPass /testing balancer://cluster timeout=60 stickysession=JSESSIONID nofailover=On 我是否需要将路由variables添加到平衡器成员configuration中,并且是否需要在jboss中启用useJK标志?

仅当负载平衡时,NTLM基本身份validation才会在http apache后面失败

我build立了一个Apache的http反向代理和负载均衡。 我已经知道Reverse Proxying会打破NTLM对话框,并导致类似于Active Directory的基本身份validation,这对我来说已经足够了。 NTLM在我的JBoss上被jCIFS支持,并且在以下情况下工作正常: 我直接使用我的JBoss地址( 10.1.2.12:8080/myapp ) 我没有第二个成员使用我的apache RP地址( myapp-homintranet.myorg.com/myapp ) 但是由于增加了第二个成员进行负载均衡,所以根本不起作用! <VirtualHost *:80> ServerName myapp-homintranet.myorg.com ServerAlias myapp-homintranet ProxyRequests Off ProxyPass /myapp balancer://jbosscluster/myapp stickysession=JSESSIONID nofailover=On ProxyPassReverse /myapp http://server01.myorg.com:8080/myapp #Conf load-balancing Jboss <Proxy balancer://jbosscluster> BalancerMember http://server01.myorg.com:8080 BalancerMember http://server02.myorg.com:8080 ProxySet lbmethod=byrequests </Proxy> </VirtualHost> 如果我删除第二个成员(服务器02),它再次工作。 我不知道如何解决这个问题。 有人能帮我吗 ? PS:如果有一种突出显示apache/conf语法的方法,告诉我! 我的工作人员conf ,以防万一… # Define list of workers that […]

我如何使用JBoss 5实现高可用性服务?

我试图用JBoss和Apache来实现高可用性服务。 架构是: Apache | | | | JBoss1 JBoss2 从Apache到JBoss都有一个平衡器,工作正常。 有时这个请求是由JBoss1来完成的,有时由JBoss2来完成,但是如果一些Jboss发生故障,平衡器仍然向它发送请求,所以应用程序有时会工作,有时候不会。 我怎样才能实现一个服务,检测到如果一些JBossclosures,它会自动redirect到另一个节点的stream量? 我试着听,但我解决不了。

JBoss的端口8080以外的其他端口不能正常工作

我们有一个带有两个JBoss实例的服务器,其中一个运行在8080上,另一个运行在8081上。我们需要为8081服务器启用HTTPS,首先我们尝试通过生成密钥库并编辑server.xml在8080端口实例上启用https并成功地工作。 但是,当我们对8081尝试了同样的事情时,没有注意到我们先删除了8080服务器的https,然后才启用了8081。 这是用于8080和8081的server.xml的唯一区别。唯一的区别是在尝试启用https 8081端口实例时,端口从8080更改为8081。 我做错了什么,需要改变什么? 注:当我的意思是启用8080我的意思是当你访问https:// URL:8484你实际上是访问8080端口的实例。 但是,当ssl启用8081,我访问https:// URL:8484我得到的网页不可用。 无条件版本 <Server> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Service name="jboss.web"> <!– https –> <Connector port="8080" address="${jboss.bind.address}" maxThreads="350" maxHttpHeaderSize="8192" emptySessionPath="true" protocol="HTTP/1.1" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" compression="on" ompressableMimeType="text/html,text/css,text/javascript,application/json,text/xml,text/plain,application/x-javascript,application/javascript"/> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" address="${jboss.bind.address}" keystoreFile="${jboss.server.home.dir}/conf/supun1.keystore" keystorePass="aaaaaa" truststoreFile="${jboss.server.home.dir}/conf/supun1.keystore" truststorePass="aaaaaa" /> <!– https1 –> […]