0

Jboss5.0.1GA サーバーをインストールしたクラウド インスタンスがあります。サーバー インスタンスには、パブリック IP と natted IP アドレスが含まれています。-b と IP (natted) アドレスを使用して Jboss サーバーを実行しましたが、Web URL は正常に動作しています。現在、JbossサーバーにデプロイされているEJB3 BeanにアクセスするためのJava外部クライアントを作成しています. 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-connectors-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.AOPRemotingInvocationHandler

`

4

2 に答える 2

1

リモート サーバー インスタンスから jboss に接続しようとしている IP とポートに telnet を実行します。それでもうまくいかない場合は、まずネットワークの問題を解決する必要があります。(やり方を教えますので、教えてください)

また、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>

ありがとう!

@レオ。

于 2013-03-17T16:49:27.200 に答える
0

以下の私の場合、2つのことがうまくいきました。 1. Running Jboss server using run.bat -b **public ip(not nat ip)** -Djboss.bind.address=0.0.0.0 2. Enabling my **local** machine hosts file to point remote ip to hostname ie remoteip remotehostname. それが他の人にも役立つことを願っています。

于 2013-03-20T08:18:19.757 に答える