当前位置: 首页 > 知识库问答 >
问题:

远程连接到EJB在localhost上工作,但在127.0.0.1和另一台服务器上失败

岳彬炳
2023-03-14

我刚刚在wildfly 12服务器上学习ejb remote。我已使用jboss ejb客户端在同一台计算机上成功连接到ejb。使用localhost访问同一JVM时的属性(工作示例):

remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port=8080

当我尝试使用127.0.0.1而不是localhost访问同一个ejb时,它等待了很长时间,没有显示任何错误,也没有发生任何事情。这是JBossEJB客户端。使用127.0.0.1在同一JVM上访问服务器时的属性(失败示例):

 remote.connections=default
 remote.connection.default.host=127.0.0.1
 remote.connection.default.port=8080

我还将相同的ejb服务部署到另一台ip为192.168.1.101的计算机上,并相应地更改了主机和设置密码凭据,然后尝试访问,但同样的无休止的等待再次发生。这是JBossEJBhtml" target="_blank">客户端。访问192.168.1.101上的另一台服务器时的属性(故障示例):

remote.connections=default
remote.connection.default.host=192.168.1.101
remote.connection.default.port=8080
remote.connection.default.username=username
remote.connection.default.password=**password
remote.connection.default.connect.timeout=3000

建筑gradle是:

// https://mvnrepository.com/artifact/org.jboss.spec.javax.transaction/jboss-transaction-api_1.2_spec
api  group: 'org.jboss.spec.javax.transaction', name: 'jboss-transaction-api_1.2_spec', version: '1.1.1.Final'
       // https://mvnrepository.com/artifact/org.jboss.spec.javax.ejb/jboss-ejb-api_3.2_spec
    api group: 'org.jboss.spec.javax.ejb', name: 'jboss-ejb-api_3.2_spec', version: '1.0.1.Final'
        // https://mvnrepository.com/artifact/org.jboss/jboss-ejb-client
    api group: 'org.jboss', name: 'jboss-ejb-client', version: '4.0.10.Final'
        // https://mvnrepository.com/artifact/org.jboss.xnio/xnio-api
    api group: 'org.jboss.xnio', name: 'xnio-api', version: '3.6.3.Final'
        // https://mvnrepository.com/artifact/org.jboss.xnio/xnio-nio
    api group: 'org.jboss.xnio', name: 'xnio-nio', version: '3.6.3.Final'
        // https://mvnrepository.com/artifact/org.jboss.remoting/jboss-remoting
    api group: 'org.jboss.remoting', name: 'jboss-remoting', version: '5.0.7.Final'
        // https://mvnrepository.com/artifact/org.jboss.sasl/jboss-sasl
    api group: 'org.jboss.sasl', name: 'jboss-sasl', version: '1.0.5.Final'
        // https://mvnrepository.com/artifact/org.jboss.marshalling/jboss-marshalling-river
    api group: 'org.jboss.marshalling', name: 'jboss-marshalling-river', version: '2.0.5.Final'

和上下文查找过程:

 Properties props = new Properties();
    props.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

InitialContext ic = new InitialContext(props);
Calculator calc = (Calculator) ic.lookup("ejb:/ejbtest-service-1.0/CalculatorService!com.testejb.model.Calculator");

有什么东西丢了吗?

共有1个答案

司空海荣
2023-03-14

我建议遵循这个示例项目

https://github.com/wildfly/quickstart/tree/12.x/ejb-remote

默认模式我们使用本地身份验证(适用于文件权限),其中作为HTTP示例使用真正的身份验证

这个例子也展示了如何使用auth

https://github.com/wildfly/quickstart/blob/12.x/ejb-security/src/main/resources/wildfly-config.xml

其中作为第一个示例(https://github.com/wildfly/quickstart/blob/12.x/ejb-remote/client/src/main/resources/META-INF/wildfly-config.xml)已使用

 <property key="wildfly.sasl.local-user.quiet-auth" value="true" />
 类似资料:
  • 以下代码在我的localhost上运行完美,但在我的实时服务器上显示了以下错误 警告:move_uploaded_file(.../uploads/76948893.jpeg):无法打开流:没有此类文件或目录 警告:move_uploaded_file():无法将'/tmp/phppxvRs8'移动到'…/上传/76948893.jpeg' 它所做的很简单,它获取来自 html 表单的数组 [“p

  • 我们在谷歌云平台上一直面临着一个相当奇怪的问题。我们试图在google cloud上设置一个Hbase独立实例,并使用静态IP地址,然后通过Java API远程连接到该实例。 如果代码被编入Jar并部署在HBase服务器上,则运行良好,但是从本地机器上运行,尽管它打开了所有端口并完全访问,但拒绝通过Zookeeper进行连接。 搜了无数论坛,都没能成功。 已经更改了etc/hosts文件,在hba

  • 我的Windows 8.1中有两个本地服务器,应用程序服务器和wampServer,通常可以通过在浏览器中键入localhost来访问应用程序服务器。wamp 服务器可通过本地主机访问:800 。所以我有两个数据库,一个来自应用服务器,另一个来自 WAMP . 现在我有MySQL工作台,我想连接到wampserver数据库,但当尝试使用主机名:localhost连接时,它只显示了appServer

  • 问题内容: 我可以在服务器A上安装php脚本并连接到服务器B上的MySQL数据库吗? 如果是,将如何进行?提前致谢 问题答案: 其简单的上述所有方法都非常复杂 假设您在服务器B上有数据库,在服务器A上有网站(假设它的IP为192.234.12.1) 在cpanel上将服务器B的IP列入白名单 并在数据库中创建一个具有足够特权的新用户(例如,该用户已经过测试) 然后将该用户创建为test@192.2

  • 编辑:我的解决方案,某种程度上。在本例中,我解析的是专门以美国为中心的NOAA预测。因此,我攻击了我自己的zoneid.of(“mdt”)以映射到17个时区的偏移量:https://www.timetemperature.com/abbreviations/united_states_time_zone_abbreviations.shtml 我隐约感到肮脏和羞愧,但这个特定的日期解析器是特定于这

  • 我在localhost上有一个带有mongo数据库的Spring Boot应用程序,一切都很好。 当我运行我的应用程序时,我得到“com.mongodb.mongoSocketOpenException:Exception opening Socket”由“regused by:java.net.SocketTimeoutException:connect timed out”引起