JBoss IPv6应用服务器支持

开发 后端
本文介绍JBoss IPv6服务器支持的问题,兼容问题,并提出了解决办法。

JBoss IPv6网络环境下,实现对IPv6的支持主要包括一下几个要求:

1. Linux系统支持IPv6;
2. Java虚拟机支持IPv6;
3. JBoss应用服务器支持IPv6;

解决以上3部分的要求就能保证应用程序对IPv6的支持。

目前第一个问题已经解决,Linux系统内核已能保证对IPv6的支持。
对于第二个问题,考虑到JDK1.5版本在Linux环境下,对IPv6的支持存在一个严重bug(具体可以搜索jdk IPv6 bug),所以JDK的版本必须满足1.6+。这种情况下可以实现java虚拟机对IPv6的支持。

对于第三个问题,由于JBoss4.2.2GA的目标(target)JDK版本为1.5.,而根据之前所述的JDK1.5与IPv6的bug,JBoss无法完全支持IPv6,若通过JDK1.6启动JBoss,将导致很多模块启动异常不能正常工作。目前JBoss5.0.0.Beta4的开发已经结束,但是JBoss5.0.0对整个JBoss的核心改动较大,虽然在某种程度上说JBoss5.0.0可以支持IPv6,但这并不完全,且JBoss5.0.0并没正式发布,存在较多bug。鉴于此无法完全实现JBoss IPv6的支持。

虽然无法提供完全的JBoss IPv6支持,但是运行之上的纯网络程序还是可以实现IPv6的(除了Web容器中的JSP和servlet,JMS JNDI等还是使用IPv4)。所以解决的方法是将JDK升级为1.6,并启动JBoss4.2.2GA。由于之前所述中通过JDK1.6启动时会出现JBoss的模块启动异常,所以需要解决JDK1.6和JBoss4.2.2GA的兼容问题。

主要兼容问题包括:
1. jaxb-api.jar 与JDK1.6中默认自带的java.xml.binding包出现版本冲突。
2. saaj-api.jar 与JDK1.6中默认自带的java.xml.soap包出现版本冲突。
3. saaj-api.jar本身与JBoss自带的JBoss-saaj.jar存在冲突。

解决以上问题的方法如下:
1. 将程序依赖的jaxb-api.jar包放到JBoss目录下lib\endorsed\包中,覆盖掉JDK1.6中默认自带的java.xml.binding。
2. 第二个问题与第三个问题实际上是同一个问题,解决方法是,裁剪JDK1.6,具体步骤是,将jdk目录下jdk\jre\lib\下的rt.jar包中的java.xml.soap包删掉。然后在JBoss安装目录下的bin文件夹中,修改run.conf文件,设定JAVA_HOME变量指向裁剪的JDK。如:

  1.  JAVA_HOME="/home/wangwei/jboss-4.2.2.GA-IPv6Test/jdk1.6.0_06"   

【编辑推荐】

  1. 在JBoss4.0上MySQL数据库配置
  2. JBoss端口的修改
  3. 针对JBoss Cache的访谈
  4. 从JBoss的服务器中获得源码的细节
  5. JBoss IDE开发EJB3.0
责任编辑:佚名 来源: JavaEye
相关推荐

2009-06-16 15:35:20

JBoss应用服务器

2022-10-17 08:48:27

2015-08-14 09:31:55

开源Python服务器

2009-01-10 19:32:36

2018-12-12 08:40:11

服务器TomcatJava

2009-02-27 14:25:00

Weblogic应用服务器服务器管理

2012-02-02 10:24:08

JavaResin

2021-05-28 05:18:08

PHP语言roadrunnner

2012-02-23 10:02:08

Web服务器应用服务器

2009-01-16 14:37:57

TomcatWeb服务器应用服务器

2010-05-27 15:13:46

2018-02-07 10:08:02

应用服务器网络数据库

2012-03-23 09:32:48

应用服务器

2014-08-08 16:35:37

应用服务器

2009-06-18 10:03:57

EquinoxOSGi应用服务器

2009-05-08 16:38:54

SpringHyperic服务器

2018-05-24 10:15:18

服务器Session问题

2010-06-28 10:46:57

JBossIPv6协议

2018-03-20 14:24:10

Web服务器HTTP
点赞
收藏

51CTO技术栈公众号