解决JBoss只能通过localhost(127.0.0.1)而不能通过IP访问远程EJB对象

[size=medium][color=brown]

刚开始测试访问远程EJB对象的时候,我的EJB是发布到我本人本机的JBoss6上的,所以请求的URL我写的是localhost(或者是本机回路地址:127.0.0.1),测试正常。
但是当我将请求的URL改成:192.168.0.3(本人的局域网IP),再次测试的时候,后台抛出了连接异常的信息。
到网上搜索了一下,原来[/color][color=red]JBoss出于安全原因,企业版默认绑定的是localhost,其他IP是无法访问的[/color]

[color=red]解决方案1:[/color]

解决这个问题的方案网上有例子:
启动cmd,进到你JBoss安装目录下的bin目录下,执行run.bat -b 0.0.0.0 指令。再测试一下,OK,正常。

[color=red]原因:[/color]
JBoss 4.2以上版本服务启动如果不加任何参数的话,只监听127.0.0.1,也就是说只能用127.0.0.1或者localhost访问,用本机的对外地址访问不了,同一网络内别的机子没法访问。除非你用参数-b ip地址来绑定监听的地址才可以。

[color=red]注:[/color]网上还有例子说:修改jboss\server\default\deploy\XX(不同版本这个文件夹名称不一样)\server.xml 把 Connector 下面的 address 改成对应的 IP 或者 0.0.0.0 就可以用 IP 访问了。
这个我试过了,没有用。朋友们也可以试试这个方案看是否能行。


[color=red]解决方案2:[/color]

网上还有一个例子是这样说的:
在你jboss安装的bin目录下,新建文本文件,录入如下内容:
run.bat -b 0.0.0.0
将此文件保存为xxx.bat文件即可。
双击启动这个xxx.bat文件,测试一下,访问正常,OK。


[color=red]解决方案3:[/color]

[color=brown]上面的都是来自网上的例子,我在这里只是整理一下,当然了,我有我自己的解决方案。不然就不会有这篇博文。[/color]

通常,我们使用的服务器都是集成到了我们的开发环境中了,我用的是myeclipse开发工具,这里以myeclipse为例来解决这个问题。

具体步骤:
Window-->Preferences-->MyEclipse-->Servers-->JBoss-->JBoo 6.x(以jboss6为例)

展开JBoss 6.x 选中Launch,点击Create Launch Configuration按钮

[img]http://dl.iteye.com/upload/attachment/0064/9451/4c7581b1-f338-3c3b-a1e7-5f699eb33182.jpg[/img]

进到如下界面:

[img]http://dl.iteye.com/upload/attachment/0064/9453/ef0ecced-2fc9-3f0e-8d9d-9820deb88f57.jpg[/img]

为你的JBoss另取一个别名(避免混乱),选中Arguments选卡,在文本域里多加一句指令:-b 0.0.0.0,点击Apply按钮,关闭窗口。
一切搞定。回到控制台,启动你刚才新创建的JBoss,用局域网IP测试一下,正常。
[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值