Cluster computing 与WildFly 8.1群集一起使用时使用JNDI/remoting的HornetQ

Cluster computing 与WildFly 8.1群集一起使用时使用JNDI/remoting的HornetQ,cluster-computing,jndi,wildfly,hibernate-search,hornetq,Cluster Computing,Jndi,Wildfly,Hibernate Search,Hornetq,以前的2台JBoss 6服务器(主服务器和从服务器)是用2个不同的IP地址(127.0.0.1和127.0.0.2)启动的,这2个服务器实例是在域模式下运行的。这些实例使用HornetQ为Hibernate搜索传递索引作业。 我正在尝试使用Wildfly而不是JBoss创建类似的配置 使用port offset=“220”以以下配置(仅发布片段)运行主实例: domain.xml-Master: <server-group name="other-server-group" profile

以前的2台JBoss 6服务器(主服务器和从服务器)是用2个不同的IP地址(127.0.0.1和127.0.0.2)启动的,这2个服务器实例是在域模式下运行的。这些实例使用HornetQ为Hibernate搜索传递索引作业。 我正在尝试使用Wildfly而不是JBoss创建类似的配置

使用port offset=“220”以以下配置(仅发布片段)运行主实例:

domain.xml-Master:

<server-group name="other-server-group" profile="full-ha">
    <jvm name="default">
        <heap size="256m" max-size="1303m"/>
        <permgen max-size="256m"/>
    </jvm>
    <socket-binding-group ref="full-ha-sockets"/>
    <deployments>
        <deployment name="mc-ds.xml" runtime-name="mc-ds.xml"/>
        <deployment name="abc.ear" runtime-name="abc.ear"/>
    </deployments>
</server-group>

我尝试使用Undertow来处理连接和HornetQ for JMS,配置如下:

  <subsystem xmlns="urn:jboss:domain:messaging:2.0">
            <hornetq-server>
                <security-enabled>false</security-enabled>
                <cluster-password>${jboss.messaging.cluster.password:root}</cluster-password>
                <journal-file-size>102400</journal-file-size>

                <connectors>
                    <http-connector name="http-connector" socket-binding="messaging">
                        <param key="http-upgrade-endpoint" value="http-acceptor"/>
                    </http-connector>
                    <http-connector name="http-connector-throughput" socket-binding="messaging-throughput">
                        <param key="http-upgrade-endpoint" value="http-acceptor-throughput"/>
                        <param key="batch-delay" value="50"/>
                    </http-connector>
                    <in-vm-connector name="in-vm" server-id="0"/>
                </connectors>

                <acceptors>
                    <http-acceptor http-listener="acceptors-messaging" name="http-acceptor"/>
                    <http-acceptor http-listener="acceptors-messaging-throughput" name="http-acceptor-throughput">
                        <param key="batch-delay" value="50"/>
                        <param key="direct-deliver" value="false"/>
                    </http-acceptor>
                    <in-vm-acceptor name="in-vm" server-id="0"/>
                </acceptors>




            ...
        <subsystem xmlns="urn:jboss:domain:undertow:1.1">
            <buffer-cache name="default"/>
            <server name="default-server">
                <ajp-listener name="ajp" socket-binding="ajp"/>
                <http-listener name="default" socket-binding="http"/>
                <http-listener name="remoting-connector" socket-binding="remoting"/>
                <http-listener name="acceptors-messaging" socket-binding="messaging"/>
                <http-listener name="acceptors-messaging-throughput" socket-binding="messaging-throughput"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/8"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>

           ...
        <socket-binding name="messaging" port="5445"/>
        <socket-binding name="messaging-throughput" port="5455"/>

假的
${jboss.messaging.cluster.password:root}
102400
...
...
和我在远程处理上做的一样

<subsystem xmlns="urn:jboss:domain:remoting:2.0">
    <endpoint worker="default"/>
    <http-connector name="http-remoting-connector" connector-ref="remoting-connector" security-realm="ApplicationRealm"/>
</subsystem>

            ...
<socket-binding name="remoting" port="${jboss.http.port:4447}"/>
<socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>

...
这允许我启动主实例并部署应用程序。实例侦听端口4667(4447+端口偏移量220)

但是,在从属实例上部署应用程序失败,因为它似乎无法连接到主实例。失败只会发生在Wildfly上,而不会发生在JBoss上

即使也配置了一个in-vm连接器,从属实例也应该使用网络接口进行连接

host.xml-从

...
<property name="hibernate.search.default.worker.jndi.java.naming.provider.url" value="remote://127.0.0.1:4667"/>
...
。。。
...
从属服务器无法加载消息队列,因为与JNDI的连接失败,如从属服务器的server.log所示。在本地测试设置中,从机与主机在同一台机器上运行

捕获网络流量表明,尽管如下面的日志中所示“ConnectException:操作失败,状态在5000毫秒后等待”,主机仍确认(TCP ACK)到其端口4667的连接

任何提示或提示都将不胜感激

来自server.log-Slave的错误消息:

2015-03-26 09:34:43,226 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 59) MSC000001: Failed to start service jboss.persistenceunit."abc.ear/web.war#mc": org.jboss.msc.service.StartException in service jboss.persistenceunit."abc.ear/web.war#mc": org.hibernate.search.SearchException: HSEARCH000103: Unable to initialize IndexManager AssetDerivate

    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_40]
at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: org.hibernate.search.SearchException: HSEARCH000103: Unable to initialize IndexManager AssetDerivate
at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:265) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:528) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManagers(IndexManagerHolder.java:495) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.indexes.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:104) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.spi.SearchFactoryBuilder.initDocumentBuilders(SearchFactoryBuilder.java:363) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.spi.SearchFactoryBuilder.buildNewSearchFactory(SearchFactoryBuilder.java:219) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.spi.SearchFactoryBuilder.buildSearchFactory(SearchFactoryBuilder.java:143) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.hcore.impl.HibernateSearchSessionFactoryObserver.sessionFactoryCreated(HibernateSearchSessionFactoryObserver.java:74) [hibernate-search-orm-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:52) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:588) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) [hibernate-entitymanager-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) [hibernate-entitymanager-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) [hibernate-entitymanager-4.3.5.Final.jar:4.3.5.Final]
at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
... 8 more
Caused by: org.hibernate.search.SearchException: HSEARCH000164: Unable to lookup Search queue 'queue/hibernatesearch' and connection factory 'jms/RemoteConnectionFactory' for index 'AssetDerivate'
at org.hibernate.search.backend.impl.jms.JndiJMSBackendQueueProcessor.initializeJMSQueueConnectionFactory(JndiJMSBackendQueueProcessor.java:56) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.backend.impl.jms.JmsBackendQueueProcessor.initialize(JmsBackendQueueProcessor.java:77) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.backend.BackendFactory.createBackend(BackendFactory.java:85) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.backend.BackendFactory.createBackend(BackendFactory.java:53) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.indexes.impl.DirectoryBasedIndexManager.createBackend(DirectoryBasedIndexManager.java:204) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.indexes.impl.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:102) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:261) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
... 24 more
Caused by: javax.naming.CommunicationException: Failed to connect to any server. Servers tried: [remote://127.0.0.1:4667 (Operation failed with status WAITING after 5000 MILLISECONDS)] [Root exception is java.net.ConnectException: Operation failed with status WAITING after 5000 MILLISECONDS]
at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:240) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingStore(HaRemoteNamingStore.java:149) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:130) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:272) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:87) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:129) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_40]
at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_40]
at org.hibernate.search.backend.impl.jms.JndiJMSBackendQueueProcessor.initializeJMSQueueConnectionFactory(JndiJMSBackendQueueProcessor.java:53) [hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
... 30 more
Caused by: java.net.ConnectException: Operation failed with status WAITING after 5000 MILLISECONDS
at org.jboss.naming.remote.protocol.IoFutureHelper.get(IoFutureHelper.java:97) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:198) [jboss-remote-naming-2.0.1.Final.jar:2.0.1.Final]
... 38 more


ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([("deployment" => "abc.ear")]) - failure description: {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"abc.ear/web.war#mc\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"abc.ear/web.war#mc\": org.hibernate.search.SearchException: HSEARCH000103: Unable to initialize IndexManager AssetDerivate


Caused by: org.hibernate.search.SearchException: HSEARCH000103: Unable to initialize IndexManager AssetDerivate
Caused by: org.hibernate.search.SearchException: HSEARCH000164: Unable to lookup Search queue 'queue/hibernatesearch' and connection factory 'jms/RemoteConnectionFactory' for index 'AssetDerivate'
Caused by: javax.naming.CommunicationException: Failed to connect to any server. Servers tried: [remote://127.0.0.1:4667 (Operation failed with status WAITING after 5000 MILLISECONDS)] [Root exception is java.net.ConnectException: Operation failed with status WAITING after 5000 MILLISECONDS]
Caused by: java.net.ConnectException: Operation failed with status WAITING after 5000 MILLISECONDS"}}
2015-03-26 09:34:43226错误[org.jboss.msc.service.fail](服务器服务线程池--59)MSC000001:无法启动服务jboss.persistenceunit。“abc.ear/web.war#mc”:org.jboss.msc.service.StartException in service jboss.persistenceunit.“abc.ear/web.war#mc”:org.hibernate.search.SearchException:HSEARCH000103:无法初始化IndexManager AssetDelivate
在org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172)[wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
在org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117)[wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
位于java.security.AccessController.doPrivileged(本机方法)[rt.jar:1.8.040]
位于org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474)
在org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182)[wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[rt.jar:1.8.040]
在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[rt.jar:1.8.040]
在java.lang.Thread.run(Thread.java:745)[rt.jar:1.8.0_40]
位于org.jboss.threads.JBossThread.run(JBossThread.java:122)
原因:org.hibernate.search.SearchException:HSEARCH000103:无法初始化IndexManager AssetDelivate
在org.hibernate.search.index.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:265)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.index.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:528)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.index.impl.IndexManagerHolder.createIndexManagers(IndexManagerHolder.java:495)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.index.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:104)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.spi.SearchFactoryBuilder.initDocumentBuilders(SearchFactoryBuilder.java:363)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.spi.SearchFactoryBuilder.buildNewSearchFactory(SearchFactoryBuilder.java:219)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.spi.SearchFactoryBuilder.buildSearchFactory(SearchFactoryBuilder.java:143)[hibernate-search-engine-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.search.hcore.impl.HibernateSearchSessionFactoryObserver.sessionFactoryCreated(HibernateSearchSessionFactoryObserver.java:74)[hibernate-search-orm-4.5.1.Final.jar:4.5.1.Final]
在org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:52)[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
位于org.hibernate.internal.sessionfactorympl.(sessionfactorympl.java:588)[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857)[hibernate-core-4.3.5.Final.jar:4.3.5.Final]
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.jav
Failed to connect to any server. Servers tried: [remote://127.0.0.1