You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org> on 2008/11/21 03:38:44 UTC

[jira] Created: (QPID-1479) Provide a thread abstraction for java client

Provide a thread abstraction for java client
--------------------------------------------

                 Key: QPID-1479
                 URL: https://issues.apache.org/jira/browse/QPID-1479
             Project: Qpid
          Issue Type: Improvement
          Components: Java Client
    Affects Versions: M4
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu
             Fix For: M4


In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650728#action_12650728 ] 

Rajith Attapattu commented on QPID-1479:
----------------------------------------

Needs tests.
----------------
As Carl mentioned I am not sure as to what exactly to test. Aidan could you please offer some suggestions?
One area I could think of it is the error handling in loading the ThreadFactory. That is if a wrong thread factory class is given it should throw an error. I could add a test for that but is that really worth it?
Another area that could potentialy throw an error is in theThreadFactory.createThread implementation of the RealtimeThreadFactory. Unfortuantely you cannot have any RT specific code in Qpid. So thats out of the question.

MINA
-------
In MINA you could pass an implementation of the Executor interface when you create the SocketConnector.
So it's possible to do it. But I believe that we are going to phase out MINA soon after the release.
Therefore as Carl suggested it may not be a worthwhile excerise. We can see much better latency/throughput with the IO transport while using comparatively less memory. 

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1479:
-----------------------------------

    Attachment: thread.patch

Appologies for the suddent check in. Backed out the changes and have attached it as a patch.
Comments and suggestions are most welcomed.

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>         Attachments: thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu resolved QPID-1479.
------------------------------------

    Resolution: Fixed

The patches are all checked into Qpid trunk as of rev 734214

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Aidan Skinner
>         Attachments: mina_thread.patch, test.patch, testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1479:
-----------------------------------

    Attachment: test.patch

This patch adds test cases for the thread factory

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: mina_thread.patch, test.patch, testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662037#action_12662037 ] 

Aidan Skinner commented on QPID-1479:
-------------------------------------

Looks reasonable. 

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Aidan Skinner
>         Attachments: mina_thread.patch, test.patch, testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey updated QPID-1479:
------------------------------

    Fix Version/s:     (was: M4)

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650977#action_12650977 ] 

Aidan Skinner commented on QPID-1479:
-------------------------------------

Testing
-----------

Threading.java needs tests to show that the system property works, and that something sensible happens if you specify an invalid value for it. 

DefaultThreadFactory.java and RealTimeThreadFactory need tests to show that they actually create threads of the appropriate type, don't reuse threads, have the priority correct and pass in the runnable properly. 

MINA
-------
Replacing MINA is not, AFAIK, something that's going to happen immediately after this release. There certainly hasn't been much discussion of doing so, apart from one random statement in one thread about something else. 

It's a core part of the client and just ripping it out for a new replacement is a bit rash. Offering alternatives, perhaps even switching them on by default is much more sensible than replacing it entirely in one go.

Until it's gone we can't let it rot, it needs to be maintained. 

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12649703#action_12649703 ] 

Rajith Attapattu commented on QPID-1479:
----------------------------------------

For starters I have changed the IoSender.java IoReceiver.java and AMQSession.java#Dispatcher to use the Thread factory to create the threads they require.
The ThreadFactory has two implimentations, the default being the java.lang.Threads.
The other is the RealtimeThreadFactory which uses reflection to create threads with a specific priority.
-Dqpid.thread_factory=<thread_factory_class> will decide which thread factory should be loaded.
-Dqpid.rt_thread_priority=<int> specifies the gloabl real time thread priority and defaults to 20.
You could also set individual thread priorities by adding the nessacery config+code changes.

I have also changed the Testkit and QpidBench to use the Thread factory so you could use them for testing/benchmarking work on RT JVMs.
As for Mina I don't know if I want to spend time on that area as we have found the plain IO transport to be better. Infact I believe that we will want to phase MINA out at some point.


> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12649692#action_12649692 ] 

Aidan Skinner commented on QPID-1479:
-------------------------------------

This work would also need to be done to make Mina use threads from the factory. 

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1479:
-----------------------------------

    Attachment: mina_thread.patch

This patch allows the MINA code to use the Qpid thread factory

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: mina_thread.patch, test.patch, testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650631#action_12650631 ] 

Aidan Skinner commented on QPID-1479:
-------------------------------------

This needs tests, and needs to ensure that Mina also uses threads from the factory as I pointed out in an eariler comment. 

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12657557#action_12657557 ] 

Rajith Attapattu commented on QPID-1479:
----------------------------------------

Yes the patch will be commited after the M4 release along with the test cases and patch for MINA threads.

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1479:
-----------------------------------

    Attachment: testthread.patch

This patch contains modifications to Qpid bench and Testkit classes to use the Thread abstraction.

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-1479:
-----------------------------------

    Assignee: Aidan Skinner  (was: Rajith Attapattu)

Hey Aidan,

Could you please look at the MINA patch I have attached and let me know.
If you are happy with the changes, I plan to commit the code tomorrow.

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Aidan Skinner
>         Attachments: mina_thread.patch, test.patch, testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12657556#action_12657556 ] 

Rob Godfrey commented on QPID-1479:
-----------------------------------

I believe after discussion Rajith reverted this patch in revision 719657 

Thus descoping this from M4

> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1479) Provide a thread abstraction for java client

Posted by "Carl Trieloff (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650656#action_12650656 ] 

Carl Trieloff commented on QPID-1479:
-------------------------------------


needs tests -- not sure why, as it is equivalent, it is just an abstraction, not changing functionality, so it gets tested by the existing tests.

On Mina, do we actually want to do that? Don't we want to rather get the nio replace done as the way to get consistency for 0-9 client on IO.

Would be interested in understand the benefits of updating mina to use it (that seems like totally wasted effort), as I understand mina will be dropped from the client right after M4.



> Provide a thread abstraction for java client
> --------------------------------------------
>
>                 Key: QPID-1479
>                 URL: https://issues.apache.org/jira/browse/QPID-1479
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M4
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>         Attachments: testthread.patch, thread.patch
>
>
> In order to provide better support for Qpid users who run the java client on a Real Time JVM it would be nice to have a thread abstraction.
> The thread factory would default to java.lang.Thread and can be switched to javax.realtime.RealtimeThread on an RT JVM.
> I am planning to provide this thread abstraction for the IOSender, IOReceiver and Dispatcher threads in the java client.
> I am also using it in the TestKit and QpidBench to allow these tools to be used more effectively on an RT JVM.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.