[jboss-jira] [JBoss JIRA] Commented: (AS7-648) Arjuna service creating an anonymous localhost binding outside of standalone.xml configuration.

Scott Stark (JIRA) jira-events at lists.jboss.org
Fri May 13 11:47:50 EDT 2011


    [ https://issues.jboss.org/browse/AS7-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12601991#comment-12601991 ] 

Scott Stark commented on AS7-648:
---------------------------------

Mark Little indicated that the initDefaultProcess in the com.arjuna.ats.arjuna.utils.Utility class is where the Uid implementation is chosen. That method queries the com.arjuna.ats.arjuna.common.CoreEnvironmentBean.getProcessImplementation:

    /**
     * Returns the class name of the Process implementation to use.
     *
     * Default: "com.arjuna.ats.internal.arjuna.utils.SocketProcessId"
     * Equivalent deprecated property: com.arjuna.ats.internal.arjuna.utils.processImplementation
     *
     * @return the name of a class implemeting Process.
     */
    public String getProcessImplementation()
    {
        return processImplementation;
    }

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, for example something based on the jdk uuids:

        <subsystem xmlns="urn:jboss:domain:transactions:1.0">
            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
            <core-environment socket-binding="txn-socket-process-id"
               process-implementation="java-uuid" />
        </subsystem>


> 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 at 2745 daemon, prio=5, in group 'main', status: 'RUNNING'
> 	 blocks MSC service thread 1-1 at 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

        


More information about the jboss-jira mailing list