[
https://issues.jboss.org/browse/AS7-648?page=com.atlassian.jira.plugin.sy...
]
Jonathan Halliday commented on AS7-648:
---------------------------------------
The proper way to implement this would be to add a
processImplementation attribute to the org.jboss.as.txn.TransactionSubsystemProviders as7
integration layer's parsing of the urn:jboss:domain:transactions:1.0/core-environment
com.arjuna.* code is NOT part of the public platform API and
com.arjuna.ats.arjuna.utils.Process should not be visible to platform users. An
enumeration over existing implementations may be feasible at the config level, although I
continue to recommend against it.
Arjuna service creating an anonymous localhost binding outside of
standalone.xml configuration.
-----------------------------------------------------------------------------------------------
Key: AS7-648
URL:
https://issues.jboss.org/browse/AS7-648
Project: Application Server 7
Issue Type: Enhancement
Components: Transactions
Reporter: Scott Stark
Assignee: Jonathan Halliday
I'm seeing an attempt to bind an anonymous socket to localhost/127.0.0.1 even when
the standalone.xml configuration has specified a loopback-address other than
localhost/127.0.0.1 as the default:
<interfaces>
<interface name="default">
<loopback-address value="127.0.250.1"/>
</interface>
The port is also not one listed in the socket-binding-group section. Both the interface
and port should be coming from the server configuration.
Thread attempting bind call:
Socket[addr=localhost/127.0.0.1,port=0,localport=52394]
Transaction Expired Entry Monitor@2745 daemon, prio=5, in group 'main', status:
'RUNNING'
blocks MSC service thread 1-1@1104
at java.net.PlainSocketImpl.listen(PlainSocketImpl.java:398)
at java.net.ServerSocket.bind(ServerSocket.java:329)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at
com.arjuna.ats.internal.arjuna.utils.SocketProcessId.createSocket(SocketProcessId.java:99)
at
com.arjuna.ats.internal.arjuna.utils.SocketProcessId.<init>(SocketProcessId.java:76)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeConstructorAccessorImpl.java:-1)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.arjuna.ats.arjuna.utils.Utility.initDefaultProcess(Utility.java:336)
at com.arjuna.ats.arjuna.utils.Utility.getProcess(Utility.java:348)
at com.arjuna.ats.arjuna.utils.Utility.getpid(Utility.java:287)
at com.arjuna.ats.arjuna.common.Uid.<init>(Uid.java:84)
at
com.arjuna.ats.arjuna.state.OutputObjectState.<init>(OutputObjectState.java:63)
at
com.arjuna.ats.internal.arjuna.objectstore.FileSystemStore.allObjUids(FileSystemStore.java:158)
at com.arjuna.ats.arjuna.objectstore.ObjectStore.allObjUids(ObjectStore.java:70)
at
com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner.scan(ExpiredTransactionStatusManagerScanner.java:82)
at
com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:172)
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira