[JBoss JIRA] (WFLY-6747) messaging subsystem bridge fails on differents Ip orders
by Radoslav Husar (Jira)
[ https://issues.jboss.org/browse/WFLY-6747?page=com.atlassian.jira.plugin.... ]
Radoslav Husar reassigned WFLY-6747:
------------------------------------
Assignee: ehsavoie Hugonnet (was: Jeff Mesnil)
I think this is for Emmanuel now - reassigning.
> messaging subsystem bridge fails on differents Ip orders
> --------------------------------------------------------
>
> Key: WFLY-6747
> URL: https://issues.jboss.org/browse/WFLY-6747
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Affects Versions: 8.2.0.Final
> Environment: Wildfly 8.2.0.Final domain mode. 2 Hosts each one with one server, one contains also the domain controller. Verified on Windows and on Linux (AWS machines).
> Reporter: Lorenzo Pirazzini
> Assignee: ehsavoie Hugonnet
> Priority: Major
>
> While trying to setup a clustered environment with Wildfly 8.2.0.Final I needed a shared topic between servers (I have two Linux machines on AWS).
> Everything works fine (domain creation, datasources/persistence unit, infinispan shared caches and Wildfly Console) except for HornetQ messaging subsystem.
> I can't use discovery because I don't have a multicast address, so I defined a *domain.xml* like this:
> <subsystem xmlns="urn:jboss:domain:messaging:2.0">
> <hornetq-server>
> <cluster-password>myPassword</cluster-password>
> <backup>false</backup>
> <shared-store>false</shared-store>
> <journal-file-size>102400</journal-file-size>
> <connectors>
> <http-connector name="http-connector" socket-binding="http">
> <param key="http-upgrade-endpoint" value="http-acceptor"/>
> </http-connector>
> <http-connector name="http-connector-throughput" socket-binding="http">
> <param key="http-upgrade-endpoint" value="http-acceptor-throughput"/>
> <param key="batch-delay" value="50"/>
> </http-connector>
> <http-connector name="cnode1" socket-binding="node1">
> <param key="http-upgrade-endpoint" value="http-acceptor"/>
> </http-connector>
> <http-connector name="cnode2" socket-binding="node2">
> <param key="http-upgrade-endpoint" value="http-acceptor"/>
> </http-connector>
> <in-vm-connector name="in-vm" server-id="0"/>
> </connectors>
> <acceptors>
> <http-acceptor http-listener="default" name="http-acceptor"/>
> <http-acceptor http-listener="default" 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>
> <cluster-connections>
> <cluster-connection name="my-cluster">
> <address>jms</address>
> <connector-ref>http-connector</connector-ref>
> <static-connectors>
> <connector-ref>
> cnode1
> </connector-ref>
> <connector-ref>
> cnode2
> </connector-ref>
> </static-connectors>
> </cluster-connection>
> </cluster-connections>
> <security-settings>
> <security-setting match="#">
> <permission type="send" roles="guest"/>
> <permission type="consume" roles="guest"/>
> <permission type="createNonDurableQueue" roles="guest"/>
> <permission type="deleteNonDurableQueue" roles="guest"/>
> </security-setting>
> </security-settings>
> <address-settings>
> <address-setting match="#">
> <dead-letter-address>jms.queue.DLQ</dead-letter-address>
> <expiry-address>jms.queue.ExpiryQueue</expiry-address>
> <max-size-bytes>10485760</max-size-bytes>
> <page-size-bytes>2097152</page-size-bytes>
> <message-counter-history-day-limit>10</message-counter-history-day-limit>
> <redistribution-delay>1000</redistribution-delay>
> </address-setting>
> </address-settings>
> <jms-connection-factories>
> <connection-factory name="InVmConnectionFactory">
> <connectors>
> <connector-ref connector-name="in-vm"/>
> </connectors>
> <entries>
> <entry name="java:/ConnectionFactory"/>
> </entries>
> </connection-factory>
> <connection-factory name="RemoteConnectionFactory">
> <connectors>
> <connector-ref connector-name="http-connector"/>
> </connectors>
> <entries>
> <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
> </entries>
> <ha>true</ha>
> <block-on-acknowledge>true</block-on-acknowledge>
> <reconnect-attempts>-1</reconnect-attempts>
> </connection-factory>
> <pooled-connection-factory name="hornetq-ra">
> <transaction mode="xa"/>
> <connectors>
> <connector-ref connector-name="in-vm"/>
> </connectors>
> <entries>
> <entry name="java:/JmsXA"/>
> <entry name="java:jboss/DefaultJMSConnectionFactory"/>
> </entries>
> </pooled-connection-factory>
> </jms-connection-factories>
> <jms-destinations>
> ...
> <jms-topic name="MyTopic">
> <entry name="java:/jms/topic/MyTopic"/>
> </jms-topic>
> ...
> </jms-destinations>
> </hornetq-server>
> </subsystem>
> ...
> <socket-binding-group name="full-ha-sockets" default-interface="public">
> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
> <socket-binding name="http" port="${jboss.http.port:8080}"/>
> <socket-binding name="https" port="${jboss.https.port:8443}"/>
> <socket-binding name="jacorb" interface="unsecure" port="3528"/>
> <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/>
> <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
> <socket-binding name="jgroups-tcp" port="7600"/>
> <socket-binding name="jgroups-tcp-fd" port="57600"/>
> <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
> <socket-binding name="jgroups-udp-fd" port="54200"/>
> <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
> <socket-binding name="txn-recovery-environment" port="4712"/>
> <socket-binding name="txn-status-manager" port="4713"/>
> <outbound-socket-binding name="mail-smtp">
> <remote-destination host="localhost" port="25"/>
> </outbound-socket-binding>
> <outbound-socket-binding name="node1">
> <remote-destination host="IP-A" port="8080"/>
> </outbound-socket-binding>
> <outbound-socket-binding name="node2">
> <remote-destination host="IP-B" port="8080"/>
> </outbound-socket-binding>
> </socket-binding-group>
> </socket-binding-groups>
> where IP-A is the Ip of the host with domain controller and a server, and IP-B is the address of the host with only a server instance.
> If I invert those two IPs HornetQ doesn't create the bridge! The topic isn't shared, every message is processed only by the topic owned by the current server.
> Why the order of sucjh addresses determines the correct behaviour of the messaging subsystem? I haven't found anything useful on the documentation, am I missing something??
> This is the line which is written only in the order proposed which starts the HornetQ shared topics:
> 2016-06-20 12:18:17,943 INFO [org.hornetq.core.server] (Thread-29 (HornetQ-server-HornetQServerImpl::serverUUID=ead3e226-2c7c-11e6-81c9-1fb90d688ead-2097612799)) HQ221027: Bridge ClusterConnectionBridge@4862c348 [name=sf.my-cluster.25728e77-2c02-11e6-8d49-3995f9ecf159, queue=QueueImpl[name=sf.my-cluster.25728e77-2c02-11e6-8d49-3995f9ecf159, postOffice=PostOfficeImpl [server=HornetQServerImpl::serverUUID=ead3e226-2c7c-11e6-81c9-1fb90d688ead]]@4ceda5a4 targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@4862c348 [name=sf.my-cluster.25728e77-2c02-11e6-8d49-3995f9ecf159, queue=QueueImpl[name=sf.my-cluster.25728e77-2c02-11e6-8d49-3995f9ecf159, postOffice=PostOfficeImpl [server=HornetQServerImpl::serverUUID=ead3e226-2c7c-11e6-81c9-1fb90d688ead]]@4ceda5a4 targetConnector=ServerLocatorImpl [initialConnectors=[TransportConfiguration(name=http-connector, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=8080&http-upgrade-endpoint=http-acceptor&host=IP_B&http-upgrade-enabled=true], discoveryGroupConfiguration=null]]::ClusterConnectionImpl@1383156397[nodeUUID=ead3e226-2c7c-11e6-81c9-1fb90d688ead, connector=TransportConfiguration(name=http-connector, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=8080&host=IP-A&http-upgrade-endpoint=http-acceptor&http-upgrade-enabled=true, address=jms, server=HornetQServerImpl::serverUUID=ead3e226-2c7c-11e6-81c9-1fb90d688ead])) [initialConnectors=[TransportConfiguration(name=http-connector, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=8080&http-upgrade-endpoint=http-acceptor&host=IP-B&http-upgrade-enabled=true], discoveryGroupConfiguration=null]] is connected
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (WFLY-6676) NPE on un-marshalling remote command from byte buffer, vanilla ISPN config
by Radoslav Husar (Jira)
[ https://issues.jboss.org/browse/WFLY-6676?page=com.atlassian.jira.plugin.... ]
Radoslav Husar closed WFLY-6676.
--------------------------------
Resolution: Out of Date
> NPE on un-marshalling remote command from byte buffer, vanilla ISPN config
> --------------------------------------------------------------------------
>
> Key: WFLY-6676
> URL: https://issues.jboss.org/browse/WFLY-6676
> Project: WildFly
> Issue Type: Bug
> Components: Clustering
> Affects Versions: 10.1.0.CR1
> Reporter: Bogdan Sikora
> Assignee: Radoslav Husar
> Priority: Major
>
> Started WildFly with default configuration to check some test
> 10.1.0.Final-SNAPSHOT
> HEAD b812136479c976fe3a25668a8159c3f950fce9d5
> Node names jboss-eap* are there just to make it more confusing it is in fact wildfly
> An apocalypse (huge amount of log text) starts when second server tries to sync with the first
> log from first
> {noformat}
> 2016-06-07 04:29:41,174 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.1.0.Final-SNAPSHOT (WildFly Core 2.2.0.CR2) started in 24129ms - Started 990 of 1289 services (536 services are lazy, passive or on-demand)
> 2016-06-07 04:29:46,164 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (thread-2,ee,jboss-eap-7.0) ISPN000094: Received new cluster view for channel server: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:46,218 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (thread-2,ee,jboss-eap-7.0) ISPN000094: Received new cluster view for channel web: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:46,270 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (thread-2,ee,jboss-eap-7.0) ISPN000094: Received new cluster view for channel ejb: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:46,339 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (thread-2,ee,jboss-eap-7.0) ISPN000094: Received new cluster view for channel hibernate: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:47,995 WARN [org.jgroups.protocols.UNICAST3] (thread-1,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::3298534883369 not found in retransmission table
> 2016-06-07 04:29:47,995 WARN [org.jgroups.protocols.UNICAST3] (thread-1,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::3298534883392 not found in retransmission table
> 2016-06-07 04:29:47,996 WARN [org.jgroups.protocols.UNICAST3] (thread-1,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::3298534883393 not found in retransmission table
> 2016-06-07 04:29:47,996 WARN [org.jgroups.protocols.UNICAST3] (thread-1,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::3298534883394 not found in retransmission table
> 2016-06-07 04:29:47,996 WARN [org.jgroups.protocols.UNICAST3] (thread-1,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::3298534883395 not found in retransmission table
> 2016-06-07 04:29:47,996 WARN [org.jgroups.protocols.UNICAST3] (thread-1,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::3298534883396 not found in retransmission table
> {noformat}
> second (joining one )
> {noformat}
> 2016-06-07 04:29:49,163 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-1) ISPN000094: Received new cluster view for channel hibernate: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:49,171 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-2) ISPN000094: Received new cluster view for channel ejb: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:49,172 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-2) ISPN000079: Channel ejb local address is jboss-eap-7.0-2, physical addresses are [192.168.124.246:55301]
> 2016-06-07 04:29:49,186 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-3) ISPN000094: Received new cluster view for channel server: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:49,187 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-3) ISPN000079: Channel server local address is jboss-eap-7.0-2, physical addresses are [192.168.124.246:55301]
> 2016-06-07 04:29:49,187 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-4) ISPN000094: Received new cluster view for channel web: [jboss-eap-7.0|1] (2) [jboss-eap-7.0, jboss-eap-7.0-2]
> 2016-06-07 04:29:49,188 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-4) ISPN000079: Channel web local address is jboss-eap-7.0-2, physical addresses are [192.168.124.246:55301]
> 2016-06-07 04:29:49,211 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-1) ISPN000079: Channel hibernate local address is jboss-eap-7.0-2, physical addresses are [192.168.124.246:55301]
> 2016-06-07 04:29:51,032 WARN [org.infinispan.topology.ClusterTopologyManagerImpl] (MSC service thread 1-4) ISPN000329: Unable to read rebalancing status from coordinator jboss-eap-7.0: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from jboss-eap-7.0, see cause for remote stack trace
> at org.infinispan.remoting.transport.AbstractTransport.checkResponse(AbstractTransport.java:44)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.checkRsp(JGroupsTransport.java:760)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.lambda$invokeRemotelyAsync$174(JGroupsTransport.java:599)
> at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
> at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
> at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> at org.infinispan.remoting.transport.jgroups.SingleResponseFuture.futureDone(SingleResponseFuture.java:30)
> at org.jgroups.blocks.Request.checkCompletion(Request.java:151)
> at org.jgroups.blocks.UnicastRequest.receiveResponse(UnicastRequest.java:75)
> at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:369)
> at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:233)
> at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:695)
> at org.jgroups.JChannel.up(JChannel.java:738)
> at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:120)
> at org.jgroups.stack.Protocol.up(Protocol.java:379)
> at org.jgroups.protocols.FORK.up(FORK.java:114)
> at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:392)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:381)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:1043)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
> at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1064)
> at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:779)
> at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:426)
> at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:645)
> at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155)
> at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200)
> at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:310)
> at org.jgroups.protocols.MERGE3.up(MERGE3.java:285)
> at org.jgroups.protocols.Discovery.up(Discovery.java:296)
> at org.jgroups.protocols.TP.passMessageUp(TP.java:1567)
> at org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1783)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$0(ClassLoaderThreadFactory.java:52)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> Got
> {noformat}
> 03:44:54,741 WARN [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (thread-5,ee,jboss-eap-7.0) ISPN000220: Problems un-marshalling remote command from byte buffer: java.io.EOFException: Read past end of file
> at org.jboss.marshalling.SimpleDataInput.eofOnRead(SimpleDataInput.java:151)
> at org.jboss.marshalling.SimpleDataInput.readBoolean(SimpleDataInput.java:220)
> at org.infinispan.commons.marshall.MarshallUtil.unmarshallString(MarshallUtil.java:250)
> at org.infinispan.topology.CacheTopologyControlCommand.readFrom(CacheTopologyControlCommand.java:319)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readCommandParameters(ReplicableCommandExternalizer.java:113)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:89)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:41)
> at org.infinispan.marshall.core.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:478)
> at org.infinispan.marshall.core.ExternalizerTable.readObject(ExternalizerTable.java:235)
> at org.infinispan.marshall.core.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:149)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:354)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
> at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
> at org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:134)
> at org.infinispan.marshall.core.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:101)
> at org.infinispan.commons.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:80)
> at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:28)
> at org.jboss.as.clustering.infinispan.ChannelTransport$1.objectFromBuffer(ChannelTransport.java:57)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:160)
> at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:398)
> at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:348)
> at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:233)
> at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:695)
> at org.jgroups.JChannel.up(JChannel.java:738)
> at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:120)
> at org.jgroups.stack.Protocol.up(Protocol.java:379)
> at org.jgroups.protocols.FORK.up(FORK.java:114)
> at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:390)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:379)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:1043)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
> at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1070)
> at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:785)
> at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:426)
> at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:649)
> at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155)
> at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200)
> at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:310)
> at org.jgroups.protocols.MERGE3.up(MERGE3.java:285)
> at org.jgroups.protocols.Discovery.up(Discovery.java:296)
> at org.jgroups.protocols.TP.passMessageUp(TP.java:1567)
> at org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1783)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$4(ClassLoaderThreadFactory.java:52)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> and
> {noformat}
> ^[[0m^[[33m03:45:52,719 WARN [org.jgroups.protocols.UNICAST3] (thread-2,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::1099511723291 not found in retransmission table
> ^[[0m^[[33m03:45:52,719 WARN [org.jgroups.protocols.UNICAST3] (thread-2,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::1099511723292 not found in retransmission table
> ^[[0m^[[33m03:45:52,719 WARN [org.jgroups.protocols.UNICAST3] (thread-2,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::1099511723293 not found in retransmission table
> ^[[0m^[[33m03:45:52,719 WARN [org.jgroups.protocols.UNICAST3] (thread-2,ee,jboss-eap-7.0) JGRP000041: jboss-eap-7.0: message jboss-eap-7.0-2::1099511723294 not found in retransmission table
> ^[[0m^[[33m03:45:52,896 WARN [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher$LogWrapper] (thread-16,ee,jboss-eap-7.0-2) ISPN000220: Problems un-marshalling remote command from byte buffer: java.lang.NullPointerException
> at org.infinispan.topology.CacheTopologyControlCommand.setParameters(CacheTopologyControlCommand.java:258)
> at org.infinispan.commands.RemoteCommandsFactory.fromStream(RemoteCommandsFactory.java:187)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:93)
> at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:39)
> at org.infinispan.marshall.core.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:479)
> at org.infinispan.marshall.core.ExternalizerTable.readObject(ExternalizerTable.java:234)
> at org.infinispan.marshall.core.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:149)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:354)
> at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
> at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
> at org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:134)
> at org.infinispan.marshall.core.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:101)
> at org.infinispan.commons.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:80)
> at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:28)
> at org.jboss.as.clustering.infinispan.ChannelTransport$1.objectFromBuffer(ChannelTransport.java:57)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:143)
> at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:398)
> at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:348)
> at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:233)
> at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:695)
> at org.jgroups.JChannel.up(JChannel.java:738)
> at org.jgroups.fork.ForkProtocolStack.up(ForkProtocolStack.java:120)
> at org.jgroups.stack.Protocol.up(Protocol.java:379)
> at org.jgroups.protocols.FORK.up(FORK.java:114)
> at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:381)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:392)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:1043)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
> at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:435)
> at org.jgroups.protocols.pbcast.NAKACK2.deliver(NAKACK2.java:957)
> at org.jgroups.protocols.pbcast.NAKACK2.handleMessage(NAKACK2.java:839)
> at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:611)
> at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155)
> at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200)
> at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:310)
> at org.jgroups.protocols.MERGE3.up(MERGE3.java:285)
> at org.jgroups.protocols.Discovery.up(Discovery.java:296)
> at org.jgroups.protocols.TP.passMessageUp(TP.java:1567)
> at org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1783)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$0(ClassLoaderThreadFactory.java:52)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> standalone-ha.xml
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?><server xmlns="urn:jboss:domain:4.1">
> <extensions>
> <extension module="org.jboss.as.clustering.infinispan"/>
> <extension module="org.jboss.as.clustering.jgroups"/>
> <extension module="org.jboss.as.connector"/>
> <extension module="org.jboss.as.deployment-scanner"/>
> <extension module="org.jboss.as.ee"/>
> <extension module="org.jboss.as.ejb3"/>
> <extension module="org.jboss.as.jaxrs"/>
> <extension module="org.jboss.as.jdr"/>
> <extension module="org.jboss.as.jmx"/>
> <extension module="org.jboss.as.jpa"/>
> <extension module="org.jboss.as.jsf"/>
> <extension module="org.jboss.as.logging"/>
> <extension module="org.jboss.as.mail"/>
> <extension module="org.jboss.as.modcluster"/>
> <extension module="org.jboss.as.naming"/>
> <extension module="org.jboss.as.pojo"/>
> <extension module="org.jboss.as.remoting"/>
> <extension module="org.jboss.as.sar"/>
> <extension module="org.jboss.as.security"/>
> <extension module="org.jboss.as.transactions"/>
> <extension module="org.jboss.as.webservices"/>
> <extension module="org.jboss.as.weld"/>
> <extension module="org.wildfly.extension.batch.jberet"/>
> <extension module="org.wildfly.extension.bean-validation"/>
> <extension module="org.wildfly.extension.clustering.singleton"/>
> <extension module="org.wildfly.extension.io"/>
> <extension module="org.wildfly.extension.request-controller"/>
> <extension module="org.wildfly.extension.security.manager"/>
> <extension module="org.wildfly.extension.undertow"/>
> </extensions>
> <system-properties>
> <property name="jboss.mod_cluster.jvmRoute" value="jboss-eap-7.0-2"/>
> <property name="jboss.node.name" value="jboss-eap-7.0-2"/>
> </system-properties>
> <management>
> <security-realms>
> <security-realm name="ManagementRealm">
> <authentication>
> <local default-user="$local" skip-group-loading="true"/>
> <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
> </authentication>
> <authorization map-groups-to-roles="false">
> <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
> </authorization>
> </security-realm>
> <security-realm name="ApplicationRealm">
> <authentication>
> <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
> <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
> </authentication>
> <authorization>
> <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
> </authorization>
> </security-realm>
> </security-realms>
> <audit-log>
> <formatters>
> <json-formatter name="json-formatter"/>
> </formatters>
> <handlers>
> <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
> </handlers>
> <logger log-boot="true" log-read-only="false" enabled="false">
> <handlers>
> <handler name="file"/>
> </handlers>
> </logger>
> </audit-log>
> <management-interfaces>
> <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
> <socket-binding http="management-http"/>
> </http-interface>
> </management-interfaces>
> <access-control provider="simple">
> <role-mapping>
> <role name="SuperUser">
> <include>
> <user name="$local"/>
> </include>
> </role>
> </role-mapping>
> </access-control>
> </management>
> <profile>
> <subsystem xmlns="urn:jboss:domain:logging:3.0">
> <console-handler name="CONSOLE">
> <level name="INFO"/>
> <formatter>
> <named-formatter name="COLOR-PATTERN"/>
> </formatter>
> </console-handler>
> <periodic-rotating-file-handler name="FILE" autoflush="true">
> <formatter>
> <named-formatter name="PATTERN"/>
> </formatter>
> <file relative-to="jboss.server.log.dir" path="server.log"/>
> <suffix value=".yyyy-MM-dd"/>
> <append value="true"/>
> </periodic-rotating-file-handler>
> <logger category="com.arjuna">
> <level name="WARN"/>
> </logger>
> <logger category="org.jboss.as.config">
> <level name="DEBUG"/>
> </logger>
> <logger category="sun.rmi">
> <level name="WARN"/>
> </logger>
> <root-logger>
> <level name="INFO"/>
> <handlers>
> <handler name="CONSOLE"/>
> <handler name="FILE"/>
> </handlers>
> </root-logger>
> <formatter name="PATTERN">
> <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
> </formatter>
> <formatter name="COLOR-PATTERN">
> <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
> </formatter>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:batch-jberet:1.0">
> <default-job-repository name="in-memory"/>
> <default-thread-pool name="batch"/>
> <job-repository name="in-memory">
> <in-memory/>
> </job-repository>
> <thread-pool name="batch">
> <max-threads count="10"/>
> <keepalive-time time="30" unit="seconds"/>
> </thread-pool>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
> <subsystem xmlns="urn:jboss:domain:datasources:4.0">
> <datasources>
> <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
> <driver>h2</driver>
> <security>
> <user-name>sa</user-name>
> <password>sa</password>
> </security>
> </datasource>
> <drivers>
> <driver name="h2" module="com.h2database.h2">
> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
> </driver>
> </drivers>
> </datasources>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
> <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:ee:4.0">
> <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
> <concurrent>
> <context-services>
> <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
> </context-services>
> <managed-thread-factories>
> <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
> </managed-thread-factories>
> <managed-executor-services>
> <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/>
> </managed-executor-services>
> <managed-scheduled-executor-services>
> <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/>
> </managed-scheduled-executor-services>
> </concurrent>
> <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:ejb3:4.0">
> <session-bean>
> <stateless>
> <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
> </stateless>
> <stateful default-access-timeout="5000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/>
> <singleton default-access-timeout="5000"/>
> </session-bean>
> <pools>
> <bean-instance-pools>
> <!-- Automatically configure pools. Alternatively, max-pool-size can be set to a specific value -->
> <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
> <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
> </bean-instance-pools>
> </pools>
> <caches>
> <cache name="simple"/>
> <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
> </caches>
> <passivation-stores>
> <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
> </passivation-stores>
> <async thread-pool-name="default"/>
> <timer-service thread-pool-name="default" default-data-store="default-file-store">
> <data-stores>
> <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
> </data-stores>
> </timer-service>
> <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
> <thread-pools>
> <thread-pool name="default">
> <max-threads count="10"/>
> <keepalive-time time="100" unit="milliseconds"/>
> </thread-pool>
> </thread-pools>
> <default-security-domain value="other"/>
> <default-missing-method-permissions-deny-access value="true"/>
> <log-system-exceptions value="true"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:io:1.1">
> <worker name="default"/>
> <buffer-pool name="default"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
> <cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server">
> <transport lock-timeout="60000"/>
> <replicated-cache name="default" mode="SYNC">
> <transaction mode="BATCH"/>
> </replicated-cache>
> </cache-container>
> <cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
> <transport lock-timeout="60000"/>
> <distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2">
> <locking isolation="REPEATABLE_READ"/>
> <transaction mode="BATCH"/>
> <file-store/>
> </distributed-cache>
> </cache-container>
> <cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan">
> <transport lock-timeout="60000"/>
> <distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2">
> <locking isolation="REPEATABLE_READ"/>
> <transaction mode="BATCH"/>
> <file-store/>
> </distributed-cache>
> </cache-container>
> <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
> <transport lock-timeout="60000"/>
> <local-cache name="local-query">
> <eviction strategy="LRU" max-entries="10000"/>
> <expiration max-idle="100000"/>
> </local-cache>
> <invalidation-cache name="entity" mode="SYNC">
> <transaction mode="NON_XA"/>
> <eviction strategy="LRU" max-entries="10000"/>
> <expiration max-idle="100000"/>
> </invalidation-cache>
> <replicated-cache name="timestamps" mode="ASYNC"/>
> </cache-container>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
> <subsystem xmlns="urn:jboss:domain:jca:4.0">
> <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
> <bean-validation enabled="true"/>
> <default-workmanager>
> <short-running-threads>
> <core-threads count="50"/>
> <queue-length count="50"/>
> <max-threads count="50"/>
> <keepalive-time time="10" unit="seconds"/>
> </short-running-threads>
> <long-running-threads>
> <core-threads count="50"/>
> <queue-length count="50"/>
> <max-threads count="50"/>
> <keepalive-time time="10" unit="seconds"/>
> </long-running-threads>
> </default-workmanager>
> <cached-connection-manager/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
> <subsystem xmlns="urn:jboss:domain:jgroups:4.0">
> <channels default="ee">
> <channel name="ee" stack="udp"/>
> </channels>
> <stacks>
> <stack name="udp">
> <transport type="UDP" socket-binding="jgroups-udp"/>
> <protocol type="PING"/>
> <protocol type="MERGE3"/>
> <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
> <protocol type="FD_ALL"/>
> <protocol type="VERIFY_SUSPECT"/>
> <protocol type="pbcast.NAKACK2"/>
> <protocol type="UNICAST3"/>
> <protocol type="pbcast.STABLE"/>
> <protocol type="pbcast.GMS"/>
> <protocol type="UFC"/>
> <protocol type="MFC"/>
> <protocol type="FRAG2"/>
> </stack>
> <stack name="tcp">
> <transport type="TCP" socket-binding="jgroups-tcp"/>
> <protocol type="MPING" socket-binding="jgroups-mping"/>
> <protocol type="MERGE3"/>
> <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
> <protocol type="FD"/>
> <protocol type="VERIFY_SUSPECT"/>
> <protocol type="pbcast.NAKACK2"/>
> <protocol type="UNICAST3"/>
> <protocol type="pbcast.STABLE"/>
> <protocol type="pbcast.GMS"/>
> <protocol type="MFC"/>
> <protocol type="FRAG2"/>
> </stack>
> </stacks>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:jmx:1.3">
> <expose-resolved-model/>
> <expose-expression-model/>
> <remoting-connector/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:jpa:1.1">
> <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
> <subsystem xmlns="urn:jboss:domain:mail:2.0">
> <mail-session name="default" jndi-name="java:jboss/mail/Default">
> <smtp-server outbound-socket-binding-ref="mail-smtp"/>
> </mail-session>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:modcluster:2.0">
> <mod-cluster-config advertise-socket="modcluster" connector="ajp">
> <dynamic-load-provider>
> <load-metric type="cpu"/>
> </dynamic-load-provider>
> </mod-cluster-config>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:naming:2.0">
> <remote-naming/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
> <subsystem xmlns="urn:jboss:domain:remoting:3.0">
> <endpoint/>
> <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/>
> <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
> <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
> <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
> <deployment-permissions>
> <maximum-set>
> <permission class="java.security.AllPermission"/>
> </maximum-set>
> </deployment-permissions>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:security:1.2">
> <security-domains>
> <security-domain name="other" cache-type="default">
> <authentication>
> <login-module code="Remoting" flag="optional">
> <module-option name="password-stacking" value="useFirstPass"/>
> </login-module>
> <login-module code="RealmDirect" flag="required">
> <module-option name="password-stacking" value="useFirstPass"/>
> </login-module>
> </authentication>
> </security-domain>
> <security-domain name="jboss-web-policy" cache-type="default">
> <authorization>
> <policy-module code="Delegating" flag="required"/>
> </authorization>
> </security-domain>
> <security-domain name="jboss-ejb-policy" cache-type="default">
> <authorization>
> <policy-module code="Delegating" flag="required"/>
> </authorization>
> </security-domain>
> <security-domain name="jaspitest" cache-type="default">
> <authentication-jaspi>
> <login-module-stack name="dummy">
> <login-module code="Dummy" flag="optional"/>
> </login-module-stack>
> <auth-module code="Dummy"/>
> </authentication-jaspi>
> </security-domain>
> </security-domains>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:singleton:1.0">
> <singleton-policies default="default">
> <singleton-policy name="default" cache-container="server">
> <simple-election-policy/>
> </singleton-policy>
> </singleton-policies>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:transactions:3.0">
> <core-environment>
> <process-id>
> <uuid/>
> </process-id>
> </core-environment>
> <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:undertow:3.1">
> <buffer-cache name="default"/>
> <server name="default-server">
> <ajp-listener name="ajp" socket-binding="ajp"/>
> <http-listener name="default" socket-binding="http" redirect-socket="https"/>
> <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/>
> <websockets/>
> </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="JBoss-EAP/7"/>
> <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
> </filters>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:webservices:2.0">
> <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
> <endpoint-config name="Standard-Endpoint-Config"/>
> <endpoint-config name="Recording-Endpoint-Config">
> <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
> <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
> </pre-handler-chain>
> </endpoint-config>
> <client-config name="Standard-Client-Config"/>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:weld:3.0"/>
> </profile>
> <interfaces>
> <interface name="management">
> <inet-address value="192.168.124.246"/>
> </interface>
> <interface name="public">
> <inet-address value="192.168.124.246"/>
> </interface>
> <interface name="private">
> <inet-address value="192.168.124.246"/>
> </interface>
> </interfaces>
> <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:101}">
> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
> <socket-binding name="http" port="${jboss.http.port:8080}"/>
> <socket-binding name="https" port="${jboss.https.port:8443}"/>
> <socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="230.0.0.4" multicast-port="45700"/>
> <socket-binding name="jgroups-tcp" interface="private" port="7600"/>
> <socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/>
> <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="230.0.0.4" multicast-port="45688"/>
> <socket-binding name="jgroups-udp-fd" interface="private" port="54200"/>
> <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
> <socket-binding name="txn-recovery-environment" port="4712"/>
> <socket-binding name="txn-status-manager" port="4713"/>
> <outbound-socket-binding name="mail-smtp">
> <remote-destination host="localhost" port="25"/>
> </outbound-socket-binding>
> </socket-binding-group>
> </server>
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (WFLY-1357) XSLT scripts for integration tests failing silently
by Radoslav Husar (Jira)
[ https://issues.jboss.org/browse/WFLY-1357?page=com.atlassian.jira.plugin.... ]
Radoslav Husar closed WFLY-1357.
--------------------------------
Assignee: Radoslav Husar
Resolution: Out of Date
Out of date -- we no longer use these transformations and use CLI scripting instead.
> XSLT scripts for integration tests failing silently
> ---------------------------------------------------
>
> Key: WFLY-1357
> URL: https://issues.jboss.org/browse/WFLY-1357
> Project: WildFly
> Issue Type: Bug
> Components: Test Suite
> Affects Versions: 8.0.0.Alpha1
> Environment: Wildfly integration tests
> Reporter: Richard Achmatowicz
> Assignee: Radoslav Husar
> Priority: Optional
>
> We use XSLT scripts to build custom Wildfly distributions for testing.
> Hard-coding of Wildfly subsystem namespace versions with no corresponding update to the scripts when schema versions change is causing XSLT scripts to be executed but silently not carry out the intended changes, resulting in broken test cases, of which no one is aware.
> For example:
> <xsl:stylesheet xmlns:jgroups="urn:jboss:domain:jgroups:1.1"
> <xsl:template match="//jgroups:subsystem">
> // do something
> </xsl:template>
> <xsl:stylesheet>
> will do nothing when executed against a 2.0 jgroups schema.
> We need to have a general mechanism in place to work around the need to hardcode namespace versions when the namespace version is general and not specific. This needs to be applied to most XSLT scripts.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (WFLY-9529) Using injected JMS in a background task/thread leads to NameNotFoundException: java:comp/TransactionSynchronizationRegistry
by Peter Schulz (Jira)
[ https://issues.jboss.org/browse/WFLY-9529?page=com.atlassian.jira.plugin.... ]
Peter Schulz edited comment on WFLY-9529 at 2/13/19 5:58 AM:
-------------------------------------------------------------
Hi,
I just ran into the same issue and started digging further and found the answer in [Kohei Nozaki's blog post|https://nozaki.me/roller/kyle/entry/in-container-jms-consumer-producer]:
The bean which gets {{JMSContext}} injected *must be an EJB*, since the "missing" component {{java:comp/TransactionSynchronizationRegistry}} is only known inside the EJB wildfly-module.
{code:java}
import javax.annotation.Resource;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.jms.BytesMessage;
import javax.jms.CompletionListener;
import javax.jms.DeliveryMode;
import javax.jms.JMSConnectionFactory;
import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.JMSProducer;
import javax.jms.Message;
import javax.jms.Queue;
import org.slf4j.Logger;
/**
* See https://nozaki.me/roller/kyle/entry/in-container-jms-consumer-producer
*/
@Stateless
@LocalBean
public class MessageProducer {
@Inject
private Logger logger;
@Inject
@JMSConnectionFactory("java:/ConnectionFactory")
private JMSContext context;
@Resource(name = "java:/jms/queue/requestQueue")
private Queue queue;
private CompletionListener completionListener = new CompletionListener() {
@Override
public void onCompletion(Message message) {
logger.debug("delivered message");
}
@Override
public void onException(Message message, Exception exception) {
logger.warn("failed to deliver message", exception);
}
};
public void enqueue(Request request) {
try {
createProducer().send(queue, convert(request));
} catch (JMSException e) {
logger.error("failed to create message/convert request " + request, e);
}
}
private JMSProducer createProducer() {
JMSProducer producer = context.createProducer();
producer.setJMSCorrelationID("SEQUENTIAL_REQUEST");
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
producer.setDisableMessageTimestamp(false);
producer.setDisableMessageID(false);
producer.setAsync(completionListener);
producer.setTimeToLive(0);
return producer;
}
private BytesMessage convert(Request request) throws JMSException {
// ...
}
}
{code}
was (Author: schulzp):
Hi,
I just ran into the same issue and started digging deeper:
The bean which gets {{JMSContext}} injected *must be an EJB*, since the "missing" component {{java:comp/TransactionSynchronizationRegistry}} is only known inside the EJB wildfly-module.
{code:java}
import javax.annotation.Resource;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.jms.BytesMessage;
import javax.jms.CompletionListener;
import javax.jms.DeliveryMode;
import javax.jms.JMSConnectionFactory;
import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.JMSProducer;
import javax.jms.Message;
import javax.jms.Queue;
import org.slf4j.Logger;
/**
* See https://nozaki.me/roller/kyle/entry/in-container-jms-consumer-producer
*/
@Stateless
@LocalBean
public class MessageProducer {
@Inject
private Logger logger;
@Inject
@JMSConnectionFactory("java:/ConnectionFactory")
private JMSContext context;
@Resource(name = "java:/jms/queue/requestQueue")
private Queue queue;
private CompletionListener completionListener = new CompletionListener() {
@Override
public void onCompletion(Message message) {
logger.debug("delivered message");
}
@Override
public void onException(Message message, Exception exception) {
logger.warn("failed to deliver message", exception);
}
};
public void enqueue(Request request) {
try {
createProducer().send(queue, convert(request));
} catch (JMSException e) {
logger.error("failed to create message/convert request " + request, e);
}
}
private JMSProducer createProducer() {
JMSProducer producer = context.createProducer();
producer.setJMSCorrelationID("SEQUENTIAL_REQUEST");
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
producer.setDisableMessageTimestamp(false);
producer.setDisableMessageID(false);
producer.setAsync(completionListener);
producer.setTimeToLive(0);
return producer;
}
private BytesMessage convert(Request request) throws JMSException {
// ...
}
}
{code}
> Using injected JMS in a background task/thread leads to NameNotFoundException: java:comp/TransactionSynchronizationRegistry
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-9529
> URL: https://issues.jboss.org/browse/WFLY-9529
> Project: WildFly
> Issue Type: Bug
> Components: CDI / Weld, JMS, Naming
> Affects Versions: 14.0.1.Final, 10.1.0.Final, 11.0.0.Final, 12.0.0.Final, 13.0.0.Final
> Environment: Running on Windows 10, Java 64-bit 1.8.0_131
> Reporter: Scott Van Wart
> Assignee: Eduardo Martins
> Priority: Major
> Labels: ActiveMQ, jms, transaction
> Attachments: injected-jms.zip, injected-jms2.zip, wildfly-11-injected-jms.txt
>
>
> If I try to use an @Injected JMSContext while executing within a background task (ManagedExecutorService) or thread (ManagedThreadFactory), I get the attached stacktrace. I've experienced this a number of times with Wildfly 10.1.0, including messages sent in Infinispan's expiry task thread.
> My original workaround was to submit an additional task on a separate thread to send the message, then wait for it to complete. That seemed unreliable (sometimes it would still produce NameNotFoundException). I've resorted to creating my own JMSContext by using @Resource( lookup="java:/ConnectionFactory" ) and sending messages that way. Both workarounds prevent the message sending logic from participating in any ongoing transactions.
> I'm also attaching a sample EAR project. It can be built with Maven. It creates a background task that waits 3 seconds and then tries to send a JMS message in a new transaction using an injected JMS context. I use the standalone-full.xml profile to run it.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months
[JBoss JIRA] (WFLY-9529) Using injected JMS in a background task/thread leads to NameNotFoundException: java:comp/TransactionSynchronizationRegistry
by Peter Schulz (Jira)
[ https://issues.jboss.org/browse/WFLY-9529?page=com.atlassian.jira.plugin.... ]
Peter Schulz commented on WFLY-9529:
------------------------------------
Hi,
I just ran into the same issue and started digging deeper:
The bean which gets {{JMSContext}} injected *must be an EJB*, since the "missing" component {{java:comp/TransactionSynchronizationRegistry}} is only known inside the EJB wildfly-module.
{code:java}
import javax.annotation.Resource;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.jms.BytesMessage;
import javax.jms.CompletionListener;
import javax.jms.DeliveryMode;
import javax.jms.JMSConnectionFactory;
import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.JMSProducer;
import javax.jms.Message;
import javax.jms.Queue;
import org.slf4j.Logger;
/**
* See https://nozaki.me/roller/kyle/entry/in-container-jms-consumer-producer
*/
@Stateless
@LocalBean
public class MessageProducer {
@Inject
private Logger logger;
@Inject
@JMSConnectionFactory("java:/ConnectionFactory")
private JMSContext context;
@Resource(name = "java:/jms/queue/requestQueue")
private Queue queue;
private CompletionListener completionListener = new CompletionListener() {
@Override
public void onCompletion(Message message) {
logger.debug("delivered message");
}
@Override
public void onException(Message message, Exception exception) {
logger.warn("failed to deliver message", exception);
}
};
public void enqueue(Request request) {
try {
createProducer().send(queue, convert(request));
} catch (JMSException e) {
logger.error("failed to create message/convert request " + request, e);
}
}
private JMSProducer createProducer() {
JMSProducer producer = context.createProducer();
producer.setJMSCorrelationID("SEQUENTIAL_REQUEST");
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
producer.setDisableMessageTimestamp(false);
producer.setDisableMessageID(false);
producer.setAsync(completionListener);
producer.setTimeToLive(0);
return producer;
}
private BytesMessage convert(Request request) throws JMSException {
// ...
}
}
{code}
> Using injected JMS in a background task/thread leads to NameNotFoundException: java:comp/TransactionSynchronizationRegistry
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-9529
> URL: https://issues.jboss.org/browse/WFLY-9529
> Project: WildFly
> Issue Type: Bug
> Components: CDI / Weld, JMS, Naming
> Affects Versions: 14.0.1.Final, 10.1.0.Final, 11.0.0.Final, 12.0.0.Final, 13.0.0.Final
> Environment: Running on Windows 10, Java 64-bit 1.8.0_131
> Reporter: Scott Van Wart
> Assignee: Eduardo Martins
> Priority: Major
> Labels: ActiveMQ, jms, transaction
> Attachments: injected-jms.zip, injected-jms2.zip, wildfly-11-injected-jms.txt
>
>
> If I try to use an @Injected JMSContext while executing within a background task (ManagedExecutorService) or thread (ManagedThreadFactory), I get the attached stacktrace. I've experienced this a number of times with Wildfly 10.1.0, including messages sent in Infinispan's expiry task thread.
> My original workaround was to submit an additional task on a separate thread to send the message, then wait for it to complete. That seemed unreliable (sometimes it would still produce NameNotFoundException). I've resorted to creating my own JMSContext by using @Resource( lookup="java:/ConnectionFactory" ) and sending messages that way. Both workarounds prevent the message sending logic from participating in any ongoing transactions.
> I'm also attaching a sample EAR project. It can be built with Maven. It creates a background task that waits 3 seconds and then tries to send a JMS message in a new transaction using an injected JMS context. I use the standalone-full.xml profile to run it.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 5 months