JBoss常见问题

最简单配置

设置好JAVA_HOME,执行

1
2
3
$JBOSS_HOME/bin/standalone.bat #windows
$JBOSS_HOME/bin/standalone.sh #linux

即可,默认端口为8080


应用中使用了Webservice,在tomcat中正常启动,但JBoss中启动报错

可注释JBoss中关于webservice的配置项试试,位置在$JBOSS_HOME/standalone/configuration/standalone.xml文件中,查找

1
2
3
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
......
</subsystem>


jboss启动后,只能在本机通过localhost访问管理页面,无法从其他机器访问

可修改配置文件中的对外服务ip地址,位置在$JBOSS_HOME/standalone/configuration/standalone.xml文件中,查找

1
2
3
4
5
6
<interface name="public">
<!-- 原值 <inet-address value="${jboss.bind.address:127.0.0.1}"/> -->
<!-- 修改为只能通过指定ip访问 <inet-address value="${jboss.bind.address:192.168.1.100}"/> -->
<!-- 修改为所有可能的ip访问 -->
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>


JBoss如何配置JNDI数据源

首先需要发布数据源的jdbc驱动,以mysql为例

  • 首先登录JBoss控制台,在Runtime->Server->Manage Deployments中,发布mysql-connector-java.jar,并启用
  • Profile->Datasources中,增加一个JNDI数据源,这时就可以选择mysql的jdbc驱动了,要注意的是,JBoss的JNDI的名字必须以java:/java:/jboss/开头,但强烈建议配置成java:/开头,这样以后在使用spring配置jndi时,统一使用以下配置,可以在各个中间件中统一命名
    1
    <jee:jndi-lookup id="dataSource" jndi-name="jdbc/recommend" resource-ref="true"/> <!-- resource-ref属性至关重要 -->