Удаленное подключение к EJB работает на локальном хосте, но не работает на 127.0.0.1 и другом сервере - PullRequest
0 голосов
/ 30 мая 2018

Я только что изучил ejb remote на сервере wildfly 12.Я успешно подключился к ejb на том же компьютере с jboss-ejb-client.properties при доступе к той же JVM с помощью localhost (рабочий пример):

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

при попытке доступа к тому же ejb с использованием 127.0.0.1, чем localhost, он ждет так долго, и ничего не происходит без отображения ошибки.Вот jboss-ejb-client.properties при доступе к серверу на той же JVM с 127.0.0.1 (пример сбоя):

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

Я также развертываю эту же службу ejb на другом компьютере с ip 192.168.1.101и изменили хост и соответственно установили кредитные пароли и попытались получить доступ, но снова произошло то же бесконечное ожидание.Вот jboss-ejb-client.properties при доступе к другому серверу на 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

build.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 Ответ

0 голосов
/ 31 мая 2018

Я бы рекомендовал следовать этому примеру проекта

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" />
...