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

Jboss5.01GA RMI EJB3.0

赵健柏
2023-03-14

我有一个云实例,我已经安装了Jboss5.0.1GA服务器。服务器实例包含一个公共 IP 和一个 nat 地址。我已经使用带有IP(nat)地址的-b运行Jboss服务器,并且网址工作正常。现在我正在创建Java外部客户端来访问部署在Jboss服务器中的EJB3 bean,在那里我得到了例外,并使用谷歌尝试解决方案,这对我的情况没有帮助。找到下面的代码,它告诉我在外部客户端中使用什么来访问EJB3。

                            properties = new Properties();
            properties.load(stream);
            // Set the context
            Hashtable ht = new Hashtable();
            ht.put(Context.INITIAL_CONTEXT_FACTORY,
                    "org.jnp.interfaces.NamingContextFactory");
            ht.put(Context.PROVIDER_URL,"public ip address");
            ht.put(Context.URL_PKG_PREFIXES,
                    "org.jboss.naming:org.jnp.interfaces");
            // Find and create a reference to the bean using JNDI
            context = new InitialContext(ht);

执行它时localhost它工作正常。当连接远程抛出下面的异常。“javax.naming.CommunicationException[根异常是java.rmi.ConnectException:连接拒绝主机:”。有人能帮我吗?

`这是我的连接器文件(ejb3连接器jboss-beans.xml)。

EJB3连接器

--

JBoss Remoting Connector  

Note: Bean Name "org.jboss.ejb3.RemotingConnector" is used
as a lookup value; alter only after checking java references
to this key.

--

<property name="invokerLocator">

  <value-factory bean="ServiceBindingManager"
    method="getStringBinding">
    <parameter>
      jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3
    </parameter>
    <parameter>
      <null />
    </parameter>
    <parameter>socket://${jboss.bind.address}:${port}</parameter>
    <parameter>
      <null />
    </parameter>
    <parameter>3873</parameter>
  </value-factory>

</property>
<property name="serverConfiguration">
  <inject bean="ServerConfiguration" />
</property>

AOP org.jboss.aspects.remoting.AOP远程调用处理程序

`

共有2个答案

郑正文
2023-03-14

对我来说,下面2件事对我很有效。1.使用run.bat-b**public ip(不是nat ip)**-Djboss.bind.address=0.0.0.0运行Jboss服务器2.启用我的**local**机器主机文件,将远程ip指向主机名,即远程ip远程主机名。希望它也能对其他人有所帮助。

辛意智
2023-03-14

从远程服务器实例对尝试在 jboss 上连接的 IP 和端口执行远程登录。如果这不起作用,那么您必须首先解决网络问题。(让我知道,所以我可以指导你如何做)

还要检查 EJB3 绑定设置并检查网络。开箱即用的配置看起来是这样的.

   <mbean code="org.jboss.remoting.transport.Connector"
          xmbean-dd="org/jboss/remoting/transport/Connector.xml"
          name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
      <depends>jboss.aop:service=AspectDeployer</depends>
      <attribute name="InvokerLocator">socket://0.0.0.0:3873</attribute>
      <attribute name="Configuration">
         <handlers>
            <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
         </handlers>
      </attribute>
   </mbean>

谢谢

@利奥。

 类似资料:

相关问答

相关文章

相关阅读