Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-12 Thread Scott M Stark
Commit it on a branch.

--

Scott Stark
Chief Technology Officer
JBoss Group, LLC

Hiram Chirino wrote:

The change is too big for a patch.  I'd rather commit on a branch. 
Another option is to refactor it some more so that it becomes part of
the new module that Nathan is working on.  Either way, please let me
know which way you prefer it.  I have completed most of my clean up and
the jms and mdb unit tests are once again passing with flying colors.

The mailing list does not seem to have received a couple of emails I
sent a few days back.  Is there something wrong with the mailing list?
Regards,
Hiram


---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
___
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-11 Thread Scott M Stark
Hiram, no one sits around for months without interacting with the day 
to day developers of JBoss
Group and then decides to commit a large change without it being 
discussed. Some of
what you have most likely has merit but it has to be reviewed so either 
submit it as a patch
or commit it to a branch off of head so that it can be reviewed for 
incorporation.


Scott Stark
Chief Technology Officer
JBoss Group, LLC



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of 
Hiram
Chirino
Sent: Wednesday, July 09, 2003 12:16 AM
To: [EMAIL PROTECTED]
Subject: Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

Scott,

Why does it matter?  Nathan has not expressed interested in growing 
from
the current JMS implementation.  I've been waiting for several months
for the new general purpose implementation to 'appear' and it has not.
There has been a skeleton since early Jun.


So it's time for me to start the engine again and make some needed
improvements to the current JBossMQ implementation.
Where have you been the past year when Adrian and Scott have been 
fixing
this buggy MQ implementation?  You failed to keep up the old stuff so 
please
don't make it sound like you're coming to the rescue.

I'm not so sure I want a total refactoring of the old JMS in the 
remoting
subsystem and the interceptor chains and such.  The current JMS 
rewrite by
Nathan, Adrian, and Bela is going quite well and we will be replacing 
the
old system in the fall.

What I don't want is a CVS HEAD of the old JMS that doesn't look like 
the
3.2 series since it will be much harder to migrate 3.2 fixes to a CVS 
HEAD
that has been totally refactored.  The old JMS needs to live a bit 
beyond
4.0's release and 4.0 will not be released until the late late fall, 
between
Thanksgiving and Christmas.  I guess what I'm saying is that a lot of 
users
will still depend on the old JMS for at least another year and we need 
some
to have fluidity between 3.2 and 4.0.  We're already experiencing the 
pain
of an unnecessary rewrite of the Entity Container that is making it
difficult to merge fixes in 3.2 to 4.0.  I don't want the same thing to
happen with a codebase that is going to be retired eventually anyways 
and
that needs to live in depracated mode for awhile.




---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
___
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-11 Thread Hiram Chirino
The change is too big for a patch.  I'd rather commit on a branch. 
Another option is to refactor it some more so that it becomes part of
the new module that Nathan is working on.  Either way, please let me
know which way you prefer it.  I have completed most of my clean up and
the jms and mdb unit tests are once again passing with flying colors.

The mailing list does not seem to have received a couple of emails I
sent a few days back.  Is there something wrong with the mailing list?

Regards,
Hiram

On Fri, 2003-07-11 at 13:01, Scott M Stark wrote:
 Hiram, no one sits around for months without interacting with the day 
 to day developers of JBoss
 Group and then decides to commit a large change without it being 
 discussed. Some of
 what you have most likely has merit but it has to be reviewed so either 
 submit it as a patch
 or commit it to a branch off of head so that it can be reviewed for 
 incorporation.
 
 
 Scott Stark
 Chief Technology Officer
 JBoss Group, LLC
 
 
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] Behalf Of 
  Hiram
  Chirino
  Sent: Wednesday, July 09, 2003 12:16 AM
  To: [EMAIL PROTECTED]
  Subject: Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite
 
 
  Scott,
 
  Why does it matter?  Nathan has not expressed interested in growing 
  from
  the current JMS implementation.  I've been waiting for several months
  for the new general purpose implementation to 'appear' and it has not.
 
  There has been a skeleton since early Jun.
 
 
  So it's time for me to start the engine again and make some needed
  improvements to the current JBossMQ implementation.
 
 
  Where have you been the past year when Adrian and Scott have been 
  fixing
  this buggy MQ implementation?  You failed to keep up the old stuff so 
  please
  don't make it sound like you're coming to the rescue.
 
  I'm not so sure I want a total refactoring of the old JMS in the 
  remoting
  subsystem and the interceptor chains and such.  The current JMS 
  rewrite by
  Nathan, Adrian, and Bela is going quite well and we will be replacing 
  the
  old system in the fall.
 
  What I don't want is a CVS HEAD of the old JMS that doesn't look like 
  the
  3.2 series since it will be much harder to migrate 3.2 fixes to a CVS 
  HEAD
  that has been totally refactored.  The old JMS needs to live a bit 
  beyond
  4.0's release and 4.0 will not be released until the late late fall, 
  between
  Thanksgiving and Christmas.  I guess what I'm saying is that a lot of 
  users
  will still depend on the old JMS for at least another year and we need 
  some
  to have fluidity between 3.2 and 4.0.  We're already experiencing the 
  pain
  of an unnecessary rewrite of the Entity Container that is making it
  difficult to merge fixes in 3.2 to 4.0.  I don't want the same thing to
  happen with a codebase that is going to be retired eventually anyways 
  and
  that needs to live in depracated mode for awhile.
 
 
 
 
 ---
 This SF.Net email sponsored by: Parasoft
 Error proof Web apps, automate testing  more.
 Download  eval WebKing and get a free book.
 www.parasoft.com/bulletproofapps1
 ___
 JBoss-Development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
-- 
/**
  * Hiram Chirino
  * Partner
  * Core Developers Network
  **/



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
___
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-11 Thread Nathan Phelps
I prefer it be commit on a branch.

Thanks,

Nathan

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:jboss-
 [EMAIL PROTECTED] On Behalf Of Hiram Chirino
 Sent: Friday, July 11, 2003 4:32 PM
 To: [EMAIL PROTECTED]; [EMAIL PROTECTED];
Jeremy
 Boynes
 Subject: Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite
 
 The change is too big for a patch.  I'd rather commit on a branch.
 Another option is to refactor it some more so that it becomes part of
 the new module that Nathan is working on.  Either way, please let me
 know which way you prefer it.  I have completed most of my clean up
and
 the jms and mdb unit tests are once again passing with flying colors.
 
 The mailing list does not seem to have received a couple of emails I
 sent a few days back.  Is there something wrong with the mailing list?
 
 Regards,
 Hiram
 
 On Fri, 2003-07-11 at 13:01, Scott M Stark wrote:
  Hiram, no one sits around for months without interacting with the
day
  to day developers of JBoss
  Group and then decides to commit a large change without it being
  discussed. Some of
  what you have most likely has merit but it has to be reviewed so
either
  submit it as a patch
  or commit it to a branch off of head so that it can be reviewed for
  incorporation.
 
  
  Scott Stark
  Chief Technology Officer
  JBoss Group, LLC
  
 
  
  
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED] Behalf
Of
   Hiram
   Chirino
   Sent: Wednesday, July 09, 2003 12:16 AM
   To: [EMAIL PROTECTED]
   Subject: Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite
  
  
   Scott,
  
   Why does it matter?  Nathan has not expressed interested in
growing
   from
   the current JMS implementation.  I've been waiting for several
months
   for the new general purpose implementation to 'appear' and it has
 not.
  
   There has been a skeleton since early Jun.
  
  
   So it's time for me to start the engine again and make some
needed
   improvements to the current JBossMQ implementation.
  
  
   Where have you been the past year when Adrian and Scott have been
   fixing
   this buggy MQ implementation?  You failed to keep up the old stuff
so
   please
   don't make it sound like you're coming to the rescue.
  
   I'm not so sure I want a total refactoring of the old JMS in the
   remoting
   subsystem and the interceptor chains and such.  The current JMS
   rewrite by
   Nathan, Adrian, and Bela is going quite well and we will be
replacing
   the
   old system in the fall.
  
   What I don't want is a CVS HEAD of the old JMS that doesn't look
like
   the
   3.2 series since it will be much harder to migrate 3.2 fixes to a
CVS
   HEAD
   that has been totally refactored.  The old JMS needs to live a bit
   beyond
   4.0's release and 4.0 will not be released until the late late
fall,
   between
   Thanksgiving and Christmas.  I guess what I'm saying is that a lot
of
   users
   will still depend on the old JMS for at least another year and we
need
   some
   to have fluidity between 3.2 and 4.0.  We're already experiencing
the
   pain
   of an unnecessary rewrite of the Entity Container that is making
it
   difficult to merge fixes in 3.2 to 4.0.  I don't want the same
thing
 to
   happen with a codebase that is going to be retired eventually
anyways
   and
   that needs to live in depracated mode for awhile.
 
 
 
 
  ---
  This SF.Net email sponsored by: Parasoft
  Error proof Web apps, automate testing  more.
  Download  eval WebKing and get a free book.
  www.parasoft.com/bulletproofapps1
  ___
  JBoss-Development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 --
 /**
   * Hiram Chirino
   * Partner
   * Core Developers Network
   **/
 
 
 
 ---
 This SF.Net email sponsored by: Parasoft
 Error proof Web apps, automate testing  more.
 Download  eval WebKing and get a free book.
 www.parasoft.com/bulletproofapps1
 ___
 JBoss-Development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
___
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Antwort: RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-10 Thread ulf . schroeter

The current JMS rewrite by Nathan, Adrian, and Bela is going quite well
and we will be replacing the old system in the fall. Don't work on a
codebase that is going to be retired and needs to live in depracated
mode for awhile. A refactoring isn't what is needed in the JMS
subsystem.

I don't want to be pessimistic, but it took quite a long time to stabilize the current JBossMQ. This is especially true for heavy load scenarios. The ongoing JMS rewrite hopefully will bring significant improvements, but first of all it has to proof stability and spec compliance before it is a valid alternative for production usage. Many JMS users will have to / want to stay with JBossMQ for quite a longer than maybe expected ! Therefore ongoing improvements of the existing JBossMQ code have quite a value ( atleast for me as a JMS user, who requires a stable and matured JMS plattform :-)

Regards
Ulf

RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-09 Thread Bill Burke


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Hiram
 Chirino
 Sent: Wednesday, July 09, 2003 12:16 AM
 To: [EMAIL PROTECTED]
 Subject: Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite


 Scott,

 Why does it matter?  Nathan has not expressed interested in growing from
 the current JMS implementation.  I've been waiting for several months
 for the new general purpose implementation to 'appear' and it has not.

There has been a skeleton since early Jun.


 So it's time for me to start the engine again and make some needed
 improvements to the current JBossMQ implementation.


Where have you been the past year when Adrian and Scott have been fixing
this buggy MQ implementation?  You failed to keep up the old stuff so please
don't make it sound like you're coming to the rescue.

I'm not so sure I want a total refactoring of the old JMS in the remoting
subsystem and the interceptor chains and such.  The current JMS rewrite by
Nathan, Adrian, and Bela is going quite well and we will be replacing the
old system in the fall.

What I don't want is a CVS HEAD of the old JMS that doesn't look like the
3.2 series since it will be much harder to migrate 3.2 fixes to a CVS HEAD
that has been totally refactored.  The old JMS needs to live a bit beyond
4.0's release and 4.0 will not be released until the late late fall, between
Thanksgiving and Christmas.  I guess what I'm saying is that a lot of users
will still depend on the old JMS for at least another year and we need some
to have fluidity between 3.2 and 4.0.  We're already experiencing the pain
of an unnecessary rewrite of the Entity Container that is making it
difficult to merge fixes in 3.2 to 4.0.  I don't want the same thing to
happen with a codebase that is going to be retired eventually anyways and
that needs to live in depracated mode for awhile.

 Nathan,

 Your doing great work in the peer based JMS arena.  But have you
 formulated a game plan for the rewrite of general purpose
 implementation?

 Right now I'm going down the route of simplifying our current c/s
 implementation down enough so that we can start taking it apart more
 easily if required to add the needed features.


If you still are up to merging fixes in 3.2 to HEAD that is fine.  I'm not
sure we want a full refactoring.

Bill



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-09 Thread Bill Burke


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Hiram
 Chirino
 Sent: Wednesday, July 09, 2003 12:38 AM
 To: [EMAIL PROTECTED]
 Subject: RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite


 On Tue, 2003-07-08 at 23:41, Nathan Phelps wrote:

 In line...

  Hiram,
 
  As you may know, we are going in a different direction with JMS than the
  original architecture coded by Norbert Lataille.  We are doing a rewrite

 I guess I had it good.  Norbert made a good start.  At least basic
 pub/sub worked.  That's better than starting from scratch.

  so patches to the old JBossMQ have a limited lifetime.  That means that
  changes made to the old JBossMQ will most likely not be part of HEAD or
  the distribution as we move forward.

 You may be right. or wrong.  The current JMS will ship until there is a
 better replacement.  Do you plan to replace the current implementation
 with the peer based implementation you have been working on?


No, the peer based implementation will only be a flavor.  As you already
know, multicast can't be used for everything.

Bill



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-09 Thread marc fleury
  As you may know, we are going in a different direction with 
 JMS than 
  the original architecture coded by Norbert Lataille.  We 
 are doing a 
  rewrite
 
 I guess I had it good.  Norbert made a good start.  At least 
 basic pub/sub worked.  That's better than starting from scratch.

Enough of this already!  You give credit where credit is due.  Norbert
Lataille did 80% of the work, you and David Maplesden did the 20% needed
for a solid release, but the better than starting from scratch doesn't
give credit. 

 You may be right. or wrong.  The current JMS will ship until 
 there is a better replacement.  Do you plan to replace the 

The current JMS rewrite by Nathan, Adrian, and Bela is going quite well
and we will be replacing the old system in the fall.  Don't work on a
codebase that is going to be retired and needs to live in depracated
mode for awhile.  A refactoring isn't what is needed in the JMS
subsystem. 

As scott asked you, please make sure you communicate with nathan, the
lead on JMS implementation. Otherwise your work will fall by the
wayside.  Also the forums are a good place to sync up or ask for
clarifications.   

marcf  






---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-08 Thread Hiram Chirino

Hi guys,

Over the past two weeks I have started to make a few improvements the
current JBossMQ implementation that is in CVS HEAD.  I would consider a
large porting of what I did refactoring to simplify the current code
base to allow future growth without having to sacrifice current features
or performance. 

I just wanted to give provide an update on the development status of the
original JBossMQ client-server JMS implementation.

Here's a summary of what has changed:

- It exclusively uses the remoting subsystem for client server
communications.  The existing IL subsystem has been removed.  The
'async' remoting protocol allows two way communications solely over
client sockets (this should allow applet/firewalled clients to connect
to the server).  Multiple JMS connections made by the client will also
share a singe pool of sockets to communicate with the server.
- Manually creating JBossMQ ConnectionFactory objects have been
simplified since a remoting URI takes care setting up most of the
connection options.
- The server interceptors have been simplified since they now operate on
a typeless invocations (it now matches the style of the other jboss
interceptors)
- The implementations for the p2p and pub/sub JMS API classes have been
consolidated since that is the direction that the JMS 1.1 API is taking
(being able to mix the us of p2p and pub/sub with in the same session).
- Many (almost all) of the bug fixes/performance enhancements made in
the 3.2 branch have been ported forward.
- All the PMs except JDBC2 have been removed to make it easier to more
quickly make enhancements to the persistence manager interface.  I hope
a cmp/jdo implementation can be created in the future.
- the old org.jboss.mq.xml package that provided a simple xml dom was
removed and all code that was using was changed to use dom4j instead.
- JNDI Reference object handling was simplified (only StringRefs are
used).
- The sources were refactored so that the back-end messing server is
much less coupled the javax.jms.* classes.  The server side is still
importing many of the JMSException classes, this can be cleaned up in
the future.  This might start to lead the way to allow this messaging
server to support other messaging APIs (JavaSpaces?)

Things to watch out for with this new version:
- The jboss API to manually create ConnectionFactory and Destination
objects has changed.  Most users should not be affected since the JMS
spec states that they should be using JNDI to get those objects.
- Previous JBossMQ clients will not be able to connect to this new
server version (since it is using remoting for communications).  Those
clients need to upgrade their jbossmq-client.jar.
- The message format has changed so the new server will not be able to
restore messages saved to persistence storage by the new server.

I hope to commit the changes CVS in the next few days.  I have 3 jms
test cases that I still need to fix and then I still need to run the MDB
test cases.

Regards,
Hiram

-- 
/**
  * Hiram Chirino
  * Partner
  * Core Developers Network
  **/



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-08 Thread Scott M Stark
And what interaction has there been with Nathan who originally responded to
the rewrite query?
--

Scott Stark
Chief Technology Officer
JBoss Group, LLC

Hiram Chirino wrote:

Hi guys,

Over the past two weeks I have started to make a few improvements the
current JBossMQ implementation that is in CVS HEAD.  I would consider a
large porting of what I did refactoring to simplify the current code
base to allow future growth without having to sacrifice current features
or performance. 

I just wanted to give provide an update on the development status of the
original JBossMQ client-server JMS implementation.
Here's a summary of what has changed:

- It exclusively uses the remoting subsystem for client server
communications.  The existing IL subsystem has been removed.  The
'async' remoting protocol allows two way communications solely over
client sockets (this should allow applet/firewalled clients to connect
to the server).  Multiple JMS connections made by the client will also
share a singe pool of sockets to communicate with the server.
- Manually creating JBossMQ ConnectionFactory objects have been
simplified since a remoting URI takes care setting up most of the
connection options.
- The server interceptors have been simplified since they now operate on
a typeless invocations (it now matches the style of the other jboss
interceptors)
- The implementations for the p2p and pub/sub JMS API classes have been
consolidated since that is the direction that the JMS 1.1 API is taking
(being able to mix the us of p2p and pub/sub with in the same session).
- Many (almost all) of the bug fixes/performance enhancements made in
the 3.2 branch have been ported forward.
- All the PMs except JDBC2 have been removed to make it easier to more
quickly make enhancements to the persistence manager interface.  I hope
a cmp/jdo implementation can be created in the future.
- the old org.jboss.mq.xml package that provided a simple xml dom was
removed and all code that was using was changed to use dom4j instead.
- JNDI Reference object handling was simplified (only StringRefs are
used).
- The sources were refactored so that the back-end messing server is
much less coupled the javax.jms.* classes.  The server side is still
importing many of the JMSException classes, this can be cleaned up in
the future.  This might start to lead the way to allow this messaging
server to support other messaging APIs (JavaSpaces?)
Things to watch out for with this new version:
- The jboss API to manually create ConnectionFactory and Destination
objects has changed.  Most users should not be affected since the JMS
spec states that they should be using JNDI to get those objects.
- Previous JBossMQ clients will not be able to connect to this new
server version (since it is using remoting for communications).  Those
clients need to upgrade their jbossmq-client.jar.
- The message format has changed so the new server will not be able to
restore messages saved to persistence storage by the new server.
I hope to commit the changes CVS in the next few days.  I have 3 jms
test cases that I still need to fix and then I still need to run the MDB
test cases.
Regards,
Hiram




---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-08 Thread Nathan Phelps
Hiram, 

As you may know, we are going in a different direction with JMS than the
original architecture coded by Norbert Lataille.  We are doing a rewrite
so patches to the old JBossMQ have a limited lifetime.  That means that
changes made to the old JBossMQ will most likely not be part of HEAD or
the distribution as we move forward.

Thanks,

Nathan Phelps
JMS Lead
JBoss Group, L.L.C.

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:jboss-
 [EMAIL PROTECTED] On Behalf Of Hiram Chirino
 Sent: Tuesday, July 08, 2003 8:41 PM
 To: [EMAIL PROTECTED]
 Subject: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite
 
 
 Hi guys,
 
 Over the past two weeks I have started to make a few improvements the
 current JBossMQ implementation that is in CVS HEAD.  I would consider
a
 large porting of what I did refactoring to simplify the current code
 base to allow future growth without having to sacrifice current
features
 or performance.
 
 I just wanted to give provide an update on the development status of
the
 original JBossMQ client-server JMS implementation.
 
 Here's a summary of what has changed:
 
 - It exclusively uses the remoting subsystem for client server
 communications.  The existing IL subsystem has been removed.  The
 'async' remoting protocol allows two way communications solely over
 client sockets (this should allow applet/firewalled clients to connect
 to the server).  Multiple JMS connections made by the client will also
 share a singe pool of sockets to communicate with the server.
 - Manually creating JBossMQ ConnectionFactory objects have been
 simplified since a remoting URI takes care setting up most of the
 connection options.
 - The server interceptors have been simplified since they now operate
on
 a typeless invocations (it now matches the style of the other jboss
 interceptors)
 - The implementations for the p2p and pub/sub JMS API classes have
been
 consolidated since that is the direction that the JMS 1.1 API is
taking
 (being able to mix the us of p2p and pub/sub with in the same
session).
 - Many (almost all) of the bug fixes/performance enhancements made in
 the 3.2 branch have been ported forward.
 - All the PMs except JDBC2 have been removed to make it easier to more
 quickly make enhancements to the persistence manager interface.  I
hope
 a cmp/jdo implementation can be created in the future.
 - the old org.jboss.mq.xml package that provided a simple xml dom was
 removed and all code that was using was changed to use dom4j instead.
 - JNDI Reference object handling was simplified (only StringRefs are
 used).
 - The sources were refactored so that the back-end messing server is
 much less coupled the javax.jms.* classes.  The server side is still
 importing many of the JMSException classes, this can be cleaned up in
 the future.  This might start to lead the way to allow this messaging
 server to support other messaging APIs (JavaSpaces?)
 
 Things to watch out for with this new version:
 - The jboss API to manually create ConnectionFactory and Destination
 objects has changed.  Most users should not be affected since the JMS
 spec states that they should be using JNDI to get those objects.
 - Previous JBossMQ clients will not be able to connect to this new
 server version (since it is using remoting for communications).  Those
 clients need to upgrade their jbossmq-client.jar.
 - The message format has changed so the new server will not be able to
 restore messages saved to persistence storage by the new server.
 
 I hope to commit the changes CVS in the next few days.  I have 3 jms
 test cases that I still need to fix and then I still need to run the
MDB
 test cases.
 
 Regards,
 Hiram
 
 --
 /**
   * Hiram Chirino
   * Partner
   * Core Developers Network
   **/
 
 
 
 ---
 This SF.Net email sponsored by: Parasoft
 Error proof Web apps, automate testing  more.
 Download  eval WebKing and get a free book.
 www.parasoft.com/bulletproofapps
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-08 Thread Hiram Chirino
Scott,

Why does it matter?  Nathan has not expressed interested in growing from
the current JMS implementation.  I've been waiting for several months
for the new general purpose implementation to 'appear' and it has not. 
So it's time for me to start the engine again and make some needed
improvements to the current JBossMQ implementation.

Nathan, 

Your doing great work in the peer based JMS arena.  But have you
formulated a game plan for the rewrite of general purpose
implementation? 

Right now I'm going down the route of simplifying our current c/s
implementation down enough so that we can start taking it apart more
easily if required to add the needed features.


On Tue, 2003-07-08 at 23:00, Scott M Stark wrote:
 And what interaction has there been with Nathan who originally responded to
 the rewrite query?
-- 
/**
  * Hiram Chirino
  * Partner
  * Core Developers Network
  **/



---
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing  more.
Download  eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite

2003-07-08 Thread Hiram Chirino
On Tue, 2003-07-08 at 23:41, Nathan Phelps wrote:

In line...

 Hiram, 
 
 As you may know, we are going in a different direction with JMS than the
 original architecture coded by Norbert Lataille.  We are doing a rewrite

I guess I had it good.  Norbert made a good start.  At least basic
pub/sub worked.  That's better than starting from scratch.

 so patches to the old JBossMQ have a limited lifetime.  That means that
 changes made to the old JBossMQ will most likely not be part of HEAD or
 the distribution as we move forward.

You may be right. or wrong.  The current JMS will ship until there is a
better replacement.  Do you plan to replace the current implementation
with the peer based implementation you have been working on?

Regards,
Hiram

 
 Thanks,
 
 Nathan Phelps
 JMS Lead
 JBoss Group, L.L.C.
 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:jboss-
  [EMAIL PROTECTED] On Behalf Of Hiram Chirino
  Sent: Tuesday, July 08, 2003 8:41 PM
  To: [EMAIL PROTECTED]
  Subject: c/s JBossMQ status, was: [JBoss-dev] JBossMQ rewrite
  
  
  Hi guys,
  
  Over the past two weeks I have started to make a few improvements the
  current JBossMQ implementation that is in CVS HEAD.  I would consider
 a
  large porting of what I did refactoring to simplify the current code
  base to allow future growth without having to sacrifice current
 features
  or performance.
  
  I just wanted to give provide an update on the development status of
 the
  original JBossMQ client-server JMS implementation.
  
  Here's a summary of what has changed:
  
  - It exclusively uses the remoting subsystem for client server
  communications.  The existing IL subsystem has been removed.  The
  'async' remoting protocol allows two way communications solely over
  client sockets (this should allow applet/firewalled clients to connect
  to the server).  Multiple JMS connections made by the client will also
  share a singe pool of sockets to communicate with the server.
  - Manually creating JBossMQ ConnectionFactory objects have been
  simplified since a remoting URI takes care setting up most of the
  connection options.
  - The server interceptors have been simplified since they now operate
 on
  a typeless invocations (it now matches the style of the other jboss
  interceptors)
  - The implementations for the p2p and pub/sub JMS API classes have
 been
  consolidated since that is the direction that the JMS 1.1 API is
 taking
  (being able to mix the us of p2p and pub/sub with in the same
 session).
  - Many (almost all) of the bug fixes/performance enhancements made in
  the 3.2 branch have been ported forward.
  - All the PMs except JDBC2 have been removed to make it easier to more
  quickly make enhancements to the persistence manager interface.  I
 hope
  a cmp/jdo implementation can be created in the future.
  - the old org.jboss.mq.xml package that provided a simple xml dom was
  removed and all code that was using was changed to use dom4j instead.
  - JNDI Reference object handling was simplified (only StringRefs are
  used).
  - The sources were refactored so that the back-end messing server is
  much less coupled the javax.jms.* classes.  The server side is still
  importing many of the JMSException classes, this can be cleaned up in
  the future.  This might start to lead the way to allow this messaging
  server to support other messaging APIs (JavaSpaces?)
  
  Things to watch out for with this new version:
  - The jboss API to manually create ConnectionFactory and Destination
  objects has changed.  Most users should not be affected since the JMS
  spec states that they should be using JNDI to get those objects.
  - Previous JBossMQ clients will not be able to connect to this new
  server version (since it is using remoting for communications).  Those
  clients need to upgrade their jbossmq-client.jar.
  - The message format has changed so the new server will not be able to
  restore messages saved to persistence storage by the new server.
  
  I hope to commit the changes CVS in the next few days.  I have 3 jms
  test cases that I still need to fix and then I still need to run the
 MDB
  test cases.
  
  Regards,
  Hiram
  
  --
  /**
* Hiram Chirino
* Partner
* Core Developers Network
**/
  
  
  
  ---
  This SF.Net email sponsored by: Parasoft
  Error proof Web apps, automate testing  more.
  Download  eval WebKing and get a free book.
  www.parasoft.com/bulletproofapps
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 ---
 This SF.Net email sponsored by: Parasoft
 Error proof Web apps, automate testing  more.
 Download  eval WebKing and get a free book.
 www.parasoft.com/bulletproofapps

RE: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-18 Thread Sacha Labourey
Sorry but the reloaded brand is already used by another JBoss project
managed by Thomas Aardal to allow old JBoss client jars to be used with
newer JBoss releases ;)

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On 
 Behalf Of [EMAIL PROTECTED]
 Sent: lundi, 16. juin 2003 21:08
 To: [EMAIL PROTECTED]
 Subject: RE: Antwort: RE: [JBoss-dev] JBossMQ rewrite
 
 
 As Bela and I have recently discussed with Tom Elrod, we all 
 think that 
 exposing JavaGroups as a transport of the remoting framework 
 is indeed the best 
 approach.  However, I struggle with how the client-server 
 nature of the 
 remoting framework maps to the client-client nature of 
 mulicast.  I think this 
 can indeed be overcome.  However, as Tom doesn't have much 
 time to spend on it, 
 I think the road I'm gong to go down is to code directly to 
 JavaGroups right 
 now, and abstract it later.
 
 However, the real important point here FOR EVERYONE TO GET is 
 that the 
 multicast implementation is just ONE implementation of the 
 client-side JMS 
 interfaces.  We will also support the traditional client-server based 
 implementation that the new code is building toward.  The 
 only reason I'm even 
 talking about the multicast stuff is because Bela showed me 
 just how JavaGroups 
 makes it so simple to implement and it will give us an 
 opportunity to get 
 something out the door in short order.  Additionally, 
 multicast will always 
 provide better performance for pub/sub then a traditional 
 client-server 
 design.  So for clients that want in-firewall messaging that 
 is super fast, the 
 multicast stuff will best serve their needs.  For clients 
 that need Internet 
 messaging, etc. the traditional design will be used.
 
 We are VERY focused on building a best-of-breed JMS 
 implementation.  The 
 current code causes us pain and that is all the motivation we 
 need.  I was very 
 encouraged to talk to the guys last week and gather ideas.  
 Andrian Brock is 
 brilliant and has all sorts of ideas for the new JMS codebase 
 that have all 
 grown out of his dealings with the old codebase.  We will not 
 repeat the 
 mistakes of the old codebase which is why we're starting anew 
 from scratch.
 
 I'm going to get the project page on the website set up to 
 better communicate 
 the plan (which is something I should have done long ago) 
 over the next week.
 
 Oh, and to address Marc's comment on the reloaded thing... 
 that is just a 
 code name for now--it sounds better then saying rewrite.  
 The branding is 
 clearly JMS/JBoss.
 
 Thanks,
 
 Nathan Phelps
 JMS/JBoss Project Lead
 JBoss Group, L.L.C.
 
 
 Quoting Bill Burke [EMAIL PROTECTED]:
 
  Nathan's design will not be based on JavaGroups, but will rather use
  JavaGroups as one type of transport mechanism.  I would 
 rather see JBoss
  Remoting used as an abstraction with JavaGroups as a plugin 
 rather than
  JavaGroups at the center of things.
  
  BUTdon't let this requirement hold you up from getting 
 a first iteration
  in place.
  
  Bill
  
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED] 
 Behalf Of Bela
   Ban
   Sent: Monday, June 16, 2003 1:12 PM
   To: [EMAIL PROTECTED]
   Subject: Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite
  
  
  
   Hi Ulf,
  
(2) message redelivery / message throttling clustering 
 / failover
  
  
   since Nathan's design is based on JavaGroups, these issues are
   JavaGroups issues:
   - Message retransmission is handled by JavaGroups.
   - Failover: what do you understand by failover ?
   - Throttling: we are working on a multicast flow control 
 protocol, JG
   currently ships with one, but it has a number of bugs and 
 needs further
   work. I'm also working on a new flow control protocol. 
 Also, note that
   you can run JG with TCP as transport, then you 
 essentially have the
   classic JMS client-server implementation.
  
  
(3) messaging system monitoring / administration
   
I there a way to participate in the your ongoing rewrite ?
  
  
   Give us some more time; Nathan essentially designed the 
 serverless JMS
   last weekend...
  
  
   --
   Bela Ban
   http://www.javagroups.com
   Cell: (408) 316-4459
  
  
  
   ---
   This SF.NET email is sponsored by: eBay
   Great deals on office technology -- on eBay now! Click here:
   http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
   ___
   Jboss-development mailing list
   [EMAIL PROTECTED]
   https://lists.sourceforge.net/lists/listinfo/jboss-development
  
  
  
  ---
  This SF.NET email is sponsored by: eBay
  Great deals on office technology -- on eBay now! Click here:
  http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https

Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread ulf . schroeter

Hi Nathan,

thanks for the information. I already have seen your first CVS code. Is there any further information available about the planed design and feature set ? You already gave some interesting insights about the p2p feature. When using jms in an enterprise production environment - as we would like to do - the following aspects are of even more importance ( and most of these isues are not handled very well in the current JBossMQ implementation )

(1) EFFICIENT handling of large / high numbers of PERSISTENT topic and queue messages 
(2) message redelivery / message throttling clustering / failover
(3) messaging system monitoring / administration

I there a way to participate in the your ongoing rewrite ?

Regards 
Ulf






Nathan Phelps [EMAIL PROTECTED]
Gesendet von: [EMAIL PROTECTED]
15.06.2003 00:00
Bitte antworten an jboss-development


An:[EMAIL PROTECTED]
Kopie:
Thema:RE: [JBoss-dev] JBossMQ rewrite


JBossMQthe current code basewill continue to ship with JBoss 3.2 which is,
and will remain for some time, the production version. Therefore, making
changes to the current code base IS NOT worthless. However, I am working on
a brand new implementation with assistance from Adrian, Bela, Bill, Tom
Elrod, and Troy Daley. The framework code has recently been checked in to
the jboss-jms module in CVS. It is early, but a start. In addition to the
traditional client-server oriented JMS we're working on, at Bela's
suggestion, I was able to implement a pure p2p implementation of the JMS
topic messaging domain that does non-durable subscribers over JavaGroups.
At Bill's request, we're going to get this code out there quickly (July).
To my knowledge this will be the first pure p2p (server-less) JMS
implementation in open source and it will provide very fast in-firewall
publish and subscribe over multicast.

Thanks,

Nathan Phelps
JMS/JBoss (Reloaded) Project Lead
JBoss Group, L.L.C.


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Friday, June 13, 2003 4:45 AM
To: [EMAIL PROTECTED]
Subject: [JBoss-dev] JBossMQ rewrite


Can  anyone give me some informations about the current state of the
announced rewrite of JBossMQ for JBoss 4 ? Does it still make sense to
implement needed features on the current JBossMQ implementation ? I don't
want to spend time on something that gets nuked in short time :-) 

Regards 
Ulf



---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development




Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread Bela Ban
Hi Ulf,

(2) message redelivery / message throttling clustering / failover 


since Nathan's design is based on JavaGroups, these issues are 
JavaGroups issues:
- Message retransmission is handled by JavaGroups.
- Failover: what do you understand by failover ?
- Throttling: we are working on a multicast flow control protocol, JG 
currently ships with one, but it has a number of bugs and needs further 
work. I'm also working on a new flow control protocol. Also, note that 
you can run JG with TCP as transport, then you essentially have the 
classic JMS client-server implementation.


(3) messaging system monitoring / administration

I there a way to participate in the your ongoing rewrite ? 


Give us some more time; Nathan essentially designed the serverless JMS 
last weekend...

--
Bela Ban
http://www.javagroups.com
Cell: (408) 316-4459


---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread me
Ulf,

Our primary goal with JMS reloaded is to address the items you highlighted.  
Adrian and I had a very interesting discussion about number one, and Bill and I 
discussed clustering a bit in SF last week.  So we are certainly focused on 
number 1 and 2.  Number 3 is less of a concern to me right now.  Overall, 
however, our goals are certainly aligned.

I'm going to be putting together a formilized project plan next week that I'll 
publish on the website.  From it, you and I should be able to determine where 
you have the time and skill to contriute the most.

Thanks,

Nathan Phelps
JMS/JBoss (Reloaded) Project Lead
JBoss Group, L.L.C.


Quoting [EMAIL PROTECTED]:

 Hi Nathan,
 
 thanks for the information. I already have seen your first CVS code. Is 
 there any further information available about the planed design and 
 feature set ? You already gave some interesting insights about the p2p 
 feature. When using jms in an enterprise production environment - as we 
 would like to do - the following aspects are of even more importance ( and 
 most of these isues are not handled very well in the current JBossMQ 
 implementation )
 
 (1) EFFICIENT handling of large / high numbers of PERSISTENT topic and 
 queue messages 
 (2) message redelivery / message throttling clustering / failover
 (3) messaging system monitoring / administration
 
 I there a way to participate in the your ongoing rewrite ?
 
 Regards 
 Ulf
 
 
 
 
 Nathan Phelps [EMAIL PROTECTED]
 Gesendet von: [EMAIL PROTECTED]
 15.06.2003 00:00
 Bitte antworten an jboss-development
 
  
 An: [EMAIL PROTECTED]
 Kopie: 
 Thema:  RE: [JBoss-dev] JBossMQ rewrite
 
 
 JBossMQ?the current code base?will continue to ship with JBoss 3.2 which 
 is,
 and will remain for some time, the production version.  Therefore, making
 changes to the current code base IS NOT worthless.  However, I am working 
 on
 a brand new implementation with assistance from Adrian, Bela, Bill, Tom
 Elrod, and Troy Daley.  The framework code has recently been checked in to
 the jboss-jms module in CVS.  It is early, but a start.  In addition to 
 the
 traditional client-server oriented JMS we're working on, at Bela's
 suggestion, I was able to implement a pure p2p implementation of the JMS
 topic messaging domain that does non-durable subscribers over JavaGroups.
 At Bill's request, we're going to get this code out there quickly (July).
 To my knowledge this will be the first pure p2p (server-less) JMS
 implementation in open source and it will provide very fast in-firewall
 publish and subscribe over multicast.
 
 Thanks,
 
 Nathan Phelps
 JMS/JBoss (Reloaded) Project Lead
 JBoss Group, L.L.C.
 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
 [EMAIL PROTECTED]
 Sent: Friday, June 13, 2003 4:45 AM
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] JBossMQ rewrite
 
 
 Can  anyone give me some informations about the current state of the
 announced rewrite of JBossMQ for JBoss 4 ? Does it still make sense to
 implement needed features on the current JBossMQ implementation ? I don't
 want to spend time on something that gets nuked in short time :-) 
 
 Regards 
 Ulf
 
 
 
 ---
 This SF.NET email is sponsored by: eBay
 Great deals on office technology -- on eBay now! Click here:
 http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 





---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread marc fleury
On the marketing front...

Reloaded for the matrix is a great idea but will have too short a
shelflife :) plus what we are doing is truly revolutionary so... Start
hooking your wagon on that marketing speed train, 

marcf

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On 
 Behalf Of Nathan Phelps
 Sent: Saturday, June 14, 2003 6:00 PM
 To: [EMAIL PROTECTED]
 Subject: RE: [JBoss-dev] JBossMQ rewrite
 
 
 JBossMQ—the current code base—will continue to ship with 
 JBoss 3.2 which is, and will remain for some time, the 
 production version.  Therefore, making changes to the current 
 code base IS NOT worthless.  However, I am working on a brand 
 new implementation with assistance from Adrian, Bela, Bill, 
 Tom Elrod, and Troy Daley.  The framework code has recently 
 been checked in to the jboss-jms module in CVS.  It is early, 
 but a start.  In addition to the traditional client-server 
 oriented JMS we're working on, at Bela's suggestion, I was 
 able to implement a pure p2p implementation of the JMS topic 
 messaging domain that does non-durable subscribers over 
 JavaGroups. At Bill's request, we're going to get this code 
 out there quickly (July). To my knowledge this will be the 
 first pure p2p (server-less) JMS implementation in open 
 source and it will provide very fast in-firewall publish and 
 subscribe over multicast.
 
 Thanks,
 
 Nathan Phelps
 JMS/JBoss (Reloaded) Project Lead
 JBoss Group, L.L.C.
 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On 
 Behalf Of [EMAIL PROTECTED]
 Sent: Friday, June 13, 2003 4:45 AM
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] JBossMQ rewrite
 
 
 Can  anyone give me some informations about the current state 
 of the announced rewrite of JBossMQ for JBoss 4 ? Does it 
 still make sense to implement needed features on the current 
 JBossMQ implementation ? I don't want to spend time on 
 something that gets nuked in short time :-) 
 
 Regards 
 Ulf
 
 
 
 ---
 This SF.NET email is sponsored by: eBay
 Great deals on office technology -- on eBay now! Click here: 
 http://adfarm.mediaplex.com/ad/ck/711-11697- 6916-5
 
 ___
 
 Jboss-development mailing list [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 



---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread Bill Burke
Nathan's design will not be based on JavaGroups, but will rather use
JavaGroups as one type of transport mechanism.  I would rather see JBoss
Remoting used as an abstraction with JavaGroups as a plugin rather than
JavaGroups at the center of things.

BUTdon't let this requirement hold you up from getting a first iteration
in place.

Bill

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Bela
 Ban
 Sent: Monday, June 16, 2003 1:12 PM
 To: [EMAIL PROTECTED]
 Subject: Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite



 Hi Ulf,

  (2) message redelivery / message throttling clustering / failover


 since Nathan's design is based on JavaGroups, these issues are
 JavaGroups issues:
 - Message retransmission is handled by JavaGroups.
 - Failover: what do you understand by failover ?
 - Throttling: we are working on a multicast flow control protocol, JG
 currently ships with one, but it has a number of bugs and needs further
 work. I'm also working on a new flow control protocol. Also, note that
 you can run JG with TCP as transport, then you essentially have the
 classic JMS client-server implementation.


  (3) messaging system monitoring / administration
 
  I there a way to participate in the your ongoing rewrite ?


 Give us some more time; Nathan essentially designed the serverless JMS
 last weekend...


 --
 Bela Ban
 http://www.javagroups.com
 Cell: (408) 316-4459



 ---
 This SF.NET email is sponsored by: eBay
 Great deals on office technology -- on eBay now! Click here:
 http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread Bela Ban
Bill Burke wrote:

Nathan's design will not be based on JavaGroups, but will rather use
JavaGroups as one type of transport mechanism.


Don't get all nervous; that's what I meant. 2 transports, one is the 
traditional c/s, the other one is implemented using JavaGroups.


I would rather see JBoss Remoting used as an abstraction with 
JavaGroups as a plugin rather than
JavaGroups at the center of things.


Tom, Jeff, Nathan and I have tentatively scheduled JBoss bootcamp in 
Atlanta to be the place and time for an in-depth discussion of whether 
Remoting can accommodate a one-to-many paradigm in addition to a 
one-to-one paradigm.

Nathan already has a thin abstraction layer over the transport, for both 
traditional and serverless design.

--
Bela Ban
http://www.javagroups.com
Cell: (408) 316-4459


---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread Bill Burke
I'm pretty excited about the JavaGroups implementation.  Should scale quite
well.  I also really liked the idea of the AppServer being just another
subscriber for durable topics.  Should be interesting how all this develops
over the next few months.

Bill

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Bela
 Ban
 Sent: Monday, June 16, 2003 2:28 PM
 To: [EMAIL PROTECTED]
 Subject: Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite


 Bill Burke wrote:

  Nathan's design will not be based on JavaGroups, but will rather use
  JavaGroups as one type of transport mechanism.


 Don't get all nervous; that's what I meant. 2 transports, one is the
 traditional c/s, the other one is implemented using JavaGroups.


  I would rather see JBoss Remoting used as an abstraction with
  JavaGroups as a plugin rather than
  JavaGroups at the center of things.


 Tom, Jeff, Nathan and I have tentatively scheduled JBoss bootcamp in
 Atlanta to be the place and time for an in-depth discussion of whether
 Remoting can accommodate a one-to-many paradigm in addition to a
 one-to-one paradigm.

 Nathan already has a thin abstraction layer over the transport, for both
 traditional and serverless design.


 --
 Bela Ban
 http://www.javagroups.com
 Cell: (408) 316-4459



 ---
 This SF.NET email is sponsored by: eBay
 Great deals on office technology -- on eBay now! Click here:
 http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


RE: Antwort: RE: [JBoss-dev] JBossMQ rewrite

2003-06-16 Thread me
As Bela and I have recently discussed with Tom Elrod, we all think that 
exposing JavaGroups as a transport of the remoting framework is indeed the best 
approach.  However, I struggle with how the client-server nature of the 
remoting framework maps to the client-client nature of mulicast.  I think this 
can indeed be overcome.  However, as Tom doesn't have much time to spend on it, 
I think the road I'm gong to go down is to code directly to JavaGroups right 
now, and abstract it later.

However, the real important point here FOR EVERYONE TO GET is that the 
multicast implementation is just ONE implementation of the client-side JMS 
interfaces.  We will also support the traditional client-server based 
implementation that the new code is building toward.  The only reason I'm even 
talking about the multicast stuff is because Bela showed me just how JavaGroups 
makes it so simple to implement and it will give us an opportunity to get 
something out the door in short order.  Additionally, multicast will always 
provide better performance for pub/sub then a traditional client-server 
design.  So for clients that want in-firewall messaging that is super fast, the 
multicast stuff will best serve their needs.  For clients that need Internet 
messaging, etc. the traditional design will be used.

We are VERY focused on building a best-of-breed JMS implementation.  The 
current code causes us pain and that is all the motivation we need.  I was very 
encouraged to talk to the guys last week and gather ideas.  Andrian Brock is 
brilliant and has all sorts of ideas for the new JMS codebase that have all 
grown out of his dealings with the old codebase.  We will not repeat the 
mistakes of the old codebase which is why we're starting anew from scratch.

I'm going to get the project page on the website set up to better communicate 
the plan (which is something I should have done long ago) over the next week.

Oh, and to address Marc's comment on the reloaded thing... that is just a 
code name for now--it sounds better then saying rewrite.  The branding is 
clearly JMS/JBoss.

Thanks,

Nathan Phelps
JMS/JBoss Project Lead
JBoss Group, L.L.C.


Quoting Bill Burke [EMAIL PROTECTED]:

 Nathan's design will not be based on JavaGroups, but will rather use
 JavaGroups as one type of transport mechanism.  I would rather see JBoss
 Remoting used as an abstraction with JavaGroups as a plugin rather than
 JavaGroups at the center of things.
 
 BUTdon't let this requirement hold you up from getting a first iteration
 in place.
 
 Bill
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] Behalf Of Bela
  Ban
  Sent: Monday, June 16, 2003 1:12 PM
  To: [EMAIL PROTECTED]
  Subject: Re: Antwort: RE: [JBoss-dev] JBossMQ rewrite
 
 
 
  Hi Ulf,
 
   (2) message redelivery / message throttling clustering / failover
 
 
  since Nathan's design is based on JavaGroups, these issues are
  JavaGroups issues:
  - Message retransmission is handled by JavaGroups.
  - Failover: what do you understand by failover ?
  - Throttling: we are working on a multicast flow control protocol, JG
  currently ships with one, but it has a number of bugs and needs further
  work. I'm also working on a new flow control protocol. Also, note that
  you can run JG with TCP as transport, then you essentially have the
  classic JMS client-server implementation.
 
 
   (3) messaging system monitoring / administration
  
   I there a way to participate in the your ongoing rewrite ?
 
 
  Give us some more time; Nathan essentially designed the serverless JMS
  last weekend...
 
 
  --
  Bela Ban
  http://www.javagroups.com
  Cell: (408) 316-4459
 
 
 
  ---
  This SF.NET email is sponsored by: eBay
  Great deals on office technology -- on eBay now! Click here:
  http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 ---
 This SF.NET email is sponsored by: eBay
 Great deals on office technology -- on eBay now! Click here:
 http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 





---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


[JBoss-dev] JBossMQ rewrite

2003-06-13 Thread ulf . schroeter

Can anyone give me some informations about the current state of the announced rewrite of JBossMQ for JBoss 4 ? Does it still make sense to implement needed features on the current JBossMQ implementation ? I don't want to spend time on something that gets nuked in short time :-)

Regards
Ulf

RE: [JBoss-dev] JBossMQ rewrite

2003-06-13 Thread Nathan Phelps
JBossMQ—the current code base—will continue to ship with JBoss 3.2 which is,
and will remain for some time, the production version.  Therefore, making
changes to the current code base IS NOT worthless.  However, I am working on
a brand new implementation with assistance from Adrian, Bela, Bill, Tom
Elrod, and Troy Daley.  The framework code has recently been checked in to
the jboss-jms module in CVS.  It is early, but a start.  In addition to the
traditional client-server oriented JMS we're working on, at Bela's
suggestion, I was able to implement a pure p2p implementation of the JMS
topic messaging domain that does non-durable subscribers over JavaGroups.
At Bill's request, we're going to get this code out there quickly (July).
To my knowledge this will be the first pure p2p (server-less) JMS
implementation in open source and it will provide very fast in-firewall
publish and subscribe over multicast.

Thanks,

Nathan Phelps
JMS/JBoss (Reloaded) Project Lead
JBoss Group, L.L.C.


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Friday, June 13, 2003 4:45 AM
To: [EMAIL PROTECTED]
Subject: [JBoss-dev] JBossMQ rewrite


Can  anyone give me some informations about the current state of the
announced rewrite of JBossMQ for JBoss 4 ? Does it still make sense to
implement needed features on the current JBossMQ implementation ? I don't
want to spend time on something that gets nuked in short time :-) 

Regards 
Ulf



---
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


[JBoss-dev] JBOSSMQ - JMSSecurityException

2003-02-13 Thread Sergio



Hi all,i'm implementing a system with many 
clients and a server.This clients receives messages thought 
JMS.

I'm trying that if I disconnect the net cable and 
after a while i reconnect the cable i was able to receipt the 
messages.
I have a Thread that checks the connection state 
and reconnects the subscribers.
The problem its that the socket beetween the server and my client it´s yet stablished now, when i 
want to re-establish the connection, jboss tells me that this client its 
allready connected to the server:

[INFO,UILServerILService] Client request 
resulted in a server exception: javax.jms.JMSSecurityException: The login id 
has an assigned client id. That client id is already connected to the 
server!at 
org.jboss.mq.server.StateManager.checkUser(StateManager.java:195)at 
org.jboss.mq.server.JMSServer.checkUser(JMSServer.java:540)at 
org.jboss.mq.il.uil.UILServerILService.run(UILServerILService.java:286)at 
java.lang.Thread.run(Thread.java:479)In the clientside, the 
log is:An 
exception(JMSException) occured: org.jboss.mq.SpyJMSException: Cannot get a 
client IDorg.jboss.mq.SpyJMSException: Cannot get a client IDat 
org.jboss.mq.Connection.askForAnID(Connection.java:488)at 
org.jboss.mq.Connection.init(Connection.java:118)at 
org.jboss.mq.SpyConnection.init(SpyConnection.java:47)at 
org.jboss.mq.SpyConnectionFactory.createTopicConnection(SpyConnectionFactory.java:76)at 
com.ips.mainoutlet.messages.LocalACKMessageSubscriber.init(LocalACKMessageSubscriber.java:92)at 
com.ips.mainoutlet.messages.DataBaseUpdater.start(DataBaseUpdater.java:77)at 
com.ips.mainoutlet.tpv.application.proto_main_outlet.Frame1.setConnected(Frame1.java:2098)at 
com.ips.mainoutlet.bbdd_api.threadConexion.run(threadConexion.java:79)linked 
exception is:javax.jms.JMSSecurityException: The login id has an assigned 
client id. That client id is already connected to the server!linked 
exception is:javax.jms.JMSSecurityException: The login id has an assigned 
client id. That client id is already connected to the 
server! this exception occurs in the 
line: 
topicConnection=topicFactory.createTopicConnection(strIdTienda,strIdTienda); 
when i'm trying to reconnect.


In other case, if i close my application, the 
sockets were closed, and if after an hour i want to reconnect, the messages are 
well receipt.

How can I disconnect a subscriber?
How can i break manually break the socket 
?
Any idea will be wellcomed.thanks a 
lot and sorry for my English, Sergio.






RE: [JBoss-dev] JBossMQ

2003-01-15 Thread Hiram Chirino

that sounds right..

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of John
 Fawcett
 Sent: Tuesday, January 14, 2003 8:14 PM
 To: [EMAIL PROTECTED]
 Subject: RE: [JBoss-dev] JBossMQ
 
 
 Hi,
 
 I want to make sure I understand the asynchronous delivery mechanism.
 I've implemented my MessageConsumer to do the following:
 
 Add self to Connection's message consumer list
 While(consumer is open){
   while(server is delivering synchronously){
   Send Receive Requests until the Server is Drained
   }
   Wait for Asynch Delivery
 }
 
 
 Is this the proper pattern?
 Thanks,
 fawce
 
 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]] On Behalf Of
 Hiram Chirino
 Sent: Friday, January 10, 2003 6:50 PM
 To: [EMAIL PROTECTED]
 Subject: RE: [JBoss-dev] JBossMQ
 
 
 
 Your kinda right.  the loop is there for the case where the destination
 is queue based (p2p and durable subs).  The polling happens when the
 queue is full.  Now when the queue is not full (or in the pub sub case,
 there is no queue), then the thread goes into asynch mode and it waits
 for the message to get delivered async via the ClientIL.receive method.
 I'll comment the code a little:
 
// gets the next message in queue or registers us for asynch
 delivery if none available.
mes = session.connection.receive( subscription, 0 );
if ( mes == null ) // should always be null for pub-sub case.
{
   // start waiting for the message to get delivered asynch
   waitingForMessage = true;
   while ( ( messages.isEmpty()  !closed ) || (
 !session.running ) )
   {
  try
  {
 // messages gets signaled once ClientIL.receive finishes
 processing the message.
 messages.wait();
  } catch ( InterruptedException e )
  {
  }
   }
   if ( closed )
   {
  waitingForMessage = false;
  break outer;
   }
   // the message sent via ClientIL.receive should now be sitting
 in messages
   mes = ( SpyMessage )messages.removeFirst();
   waitingForMessage = false;
   }
 
 
 I hope that helped!  I think the XIL is great idea!  We might even be
 able to develop a c base API to access mq services (important in the
 integration space).
 
 Regards,
 Hiram
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]On Behalf Of 
  John Fawcett
  Sent: Thursday, January 09, 2003 8:09 PM
  To: [EMAIL PROTECTED]
  Subject: [JBoss-dev] JBossMQ
 
 
  Hi,
 
  I am working on a new invocation layer (IL) for JbossMQ that encodes 
  all communication in Xml (XIL). I've got the IL pretty near 
  completion, and I am working on a C# jbossmq client.  I am trying to 
  develop the TopicSubsciber, which is an extension of MessageConsumer. 
  In reviewing the code in the jbossmq java sources, it looks to me like
 
  the client to a topic actually runs a loop sending receive requests to
 
  the server regularly.
 
  Is this really necessary? Once the connection has been established, 
  why can't the server just invoke the ClientIL.receive method (which 
  actually sends the message to the client) when a message arrives at 
  the destination? It looks to me like the current implementation is not
 
  truly asynchronous...
  What am I missing?
 
  Thanks,
  fawce
 
 
  -
  John Fawcett
  CTO, Tamale Software, LLC
  26 Fox Road
  Waltham, MA 02451
 
 
 
  ---
  This SF.NET email is sponsored by:
  SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! 
  http://www.vasoftware.com 
  ___
  Jboss-development mailing list [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 
 ---
 This SF.NET email is sponsored by:
 SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
 http://www.vasoftware.com
 ___
 Jboss-development mailing list [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 ---
 This SF.NET email is sponsored by: Take your first step towards giving 
 your online business a competitive advantage. Test-drive a Thawte SSL 
 certificate - our easy online guide will show you how. Click here to get 
 started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.NET email is sponsored by: Take your first step towards giving 
your online

RE: [JBoss-dev] JBossMQ

2003-01-14 Thread John Fawcett
Hi,

I want to make sure I understand the asynchronous delivery mechanism.
I've implemented my MessageConsumer to do the following:

Add self to Connection's message consumer list
While(consumer is open){
while(server is delivering synchronously){
Send Receive Requests until the Server is Drained
}
Wait for Asynch Delivery
}


Is this the proper pattern?
Thanks,
fawce



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of
Hiram Chirino
Sent: Friday, January 10, 2003 6:50 PM
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] JBossMQ



Your kinda right.  the loop is there for the case where the destination
is queue based (p2p and durable subs).  The polling happens when the
queue is full.  Now when the queue is not full (or in the pub sub case,
there is no queue), then the thread goes into asynch mode and it waits
for the message to get delivered async via the ClientIL.receive method.
I'll comment the code a little:

   // gets the next message in queue or registers us for asynch
delivery if none available.
 mes = session.connection.receive( subscription, 0 );
 if ( mes == null ) // should always be null for pub-sub case.
 {
  // start waiting for the message to get delivered asynch
waitingForMessage = true;
while ( ( messages.isEmpty()  !closed ) || (
!session.running ) )
{
   try
   {
// messages gets signaled once ClientIL.receive finishes
processing the message.
  messages.wait();
   } catch ( InterruptedException e )
   {
   }
}
if ( closed )
{
   waitingForMessage = false;
   break outer;
}
  // the message sent via ClientIL.receive should now be sitting
in messages
mes = ( SpyMessage )messages.removeFirst();
waitingForMessage = false;
}


I hope that helped!  I think the XIL is great idea!  We might even be
able to develop a c base API to access mq services (important in the
integration space).

Regards,
Hiram


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of 
 John Fawcett
 Sent: Thursday, January 09, 2003 8:09 PM
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] JBossMQ


 Hi,

 I am working on a new invocation layer (IL) for JbossMQ that encodes 
 all communication in Xml (XIL). I've got the IL pretty near 
 completion, and I am working on a C# jbossmq client.  I am trying to 
 develop the TopicSubsciber, which is an extension of MessageConsumer. 
 In reviewing the code in the jbossmq java sources, it looks to me like

 the client to a topic actually runs a loop sending receive requests to

 the server regularly.

 Is this really necessary? Once the connection has been established, 
 why can't the server just invoke the ClientIL.receive method (which 
 actually sends the message to the client) when a message arrives at 
 the destination? It looks to me like the current implementation is not

 truly asynchronous...
 What am I missing?

 Thanks,
 fawce


 -
 John Fawcett
 CTO, Tamale Software, LLC
 26 Fox Road
 Waltham, MA 02451



 ---
 This SF.NET email is sponsored by:
 SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! 
 http://www.vasoftware.com 
 ___
 Jboss-development mailing list [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Jboss-development mailing list [EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.NET email is sponsored by: Take your first step towards giving 
your online business a competitive advantage. Test-drive a Thawte SSL 
certificate - our easy online guide will show you how. Click here to get 
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JBossMQ, multiplexor test

2003-01-13 Thread John Fawcett

Hi,

I've isolated the hanging behavior to the writer threads in multiplexor
test. I re-wrote the tests to run over a socket and use a client and a
server. 

When I run the test with the server configured to:
Write on channel 1
Write on channel 2
Read from channel 1

And the client configured to:
Read from channel 1
Read from channel 2
Write to channel 1

The Server hangs part-way (lock up happens at an unpredictable time)
through the writing iterations.

I am running all of this on WinXP pro, with Jdk1.4.1 ...

Anyone have any ideas?

Thanks,
fawce

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of John
Fawcett
Sent: Sunday, January 12, 2003 6:50 PM
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] JBossMQ, multiplexor test

Thanks for the explanation of the receive loop Hiram. 

I am trying to run the Multiplexor test included in
org.jboss.mq.il.uil.multiplexor. For some indiscernible reason, the test
is freezing after starting the first stream.  

I am trying to run the test under jdk1.4.1_01 -- are there any known
compatibility problems? Or can someone verify that the test runs ?

Thanks,
fawce






---
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JBossMQ, multiplexor test

2003-01-12 Thread John Fawcett
Thanks for the explanation of the receive loop Hiram. 

I am trying to run the Multiplexor test included in
org.jboss.mq.il.uil.multiplexor. For some indiscernible reason, the test
is freezing after starting the first stream.  

I am trying to run the test under jdk1.4.1_01 -- are there any known
compatibility problems? Or can someone verify that the test runs ?

Thanks,
fawce


-
John Fawcett
CTO, Tamale Software, LLC
26 Fox Road
Waltham, MA 02451

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of
Hiram Chirino
Sent: Friday, January 10, 2003 6:50 PM
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] JBossMQ


Your kinda right.  the loop is there for the case where the destination
is
queue based (p2p and durable subs).  The polling happens when the queue
is
full.  Now when the queue is not full (or in the pub sub case, there is
no
queue), then the thread goes into asynch mode and it waits for the
message
to get delivered async via the ClientIL.receive method.  I'll comment
the
code a little:

   // gets the next message in queue or registers us for asynch
delivery
if none available.
 mes = session.connection.receive( subscription, 0 );
 if ( mes == null ) // should always be null for pub-sub case.
 {
  // start waiting for the message to get delivered asynch
waitingForMessage = true;
while ( ( messages.isEmpty()  !closed ) || (
!session.running ) )
{
   try
   {
// messages gets signaled once ClientIL.receive finishes
processing the message.
  messages.wait();
   } catch ( InterruptedException e )
   {
   }
}
if ( closed )
{
   waitingForMessage = false;
   break outer;
}
  // the message sent via ClientIL.receive should now be sitting
in
messages
mes = ( SpyMessage )messages.removeFirst();
waitingForMessage = false;
}


I hope that helped!  I think the XIL is great idea!  We might even be
able
to develop a c base API to access mq services (important in the
integration
space).

Regards,
Hiram


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of
John
 Fawcett
 Sent: Thursday, January 09, 2003 8:09 PM
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] JBossMQ


 Hi,

 I am working on a new invocation layer (IL) for JbossMQ that encodes
all
 communication in Xml (XIL). I've got the IL pretty near completion,
and
 I am working on a C# jbossmq client.  I am trying to develop the
 TopicSubsciber, which is an extension of MessageConsumer. In reviewing
 the code in the jbossmq java sources, it looks to me like the client
to
 a topic actually runs a loop sending receive requests to the server
 regularly.

 Is this really necessary? Once the connection has been established,
why
 can't the server just invoke the ClientIL.receive method (which
actually
 sends the message to the client) when a message arrives at the
 destination?
 It looks to me like the current implementation is not truly
 asynchronous...
 What am I missing?

 Thanks,
 fawce


 -
 John Fawcett
 CTO, Tamale Software, LLC
 26 Fox Road
 Waltham, MA 02451



 ---
 This SF.NET email is sponsored by:
 SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
 http://www.vasoftware.com
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JBossMQ

2003-01-10 Thread Hiram Chirino

Your kinda right.  the loop is there for the case where the destination is
queue based (p2p and durable subs).  The polling happens when the queue is
full.  Now when the queue is not full (or in the pub sub case, there is no
queue), then the thread goes into asynch mode and it waits for the message
to get delivered async via the ClientIL.receive method.  I'll comment the
code a little:

   // gets the next message in queue or registers us for asynch delivery
if none available.
 mes = session.connection.receive( subscription, 0 );
 if ( mes == null ) // should always be null for pub-sub case.
 {
  // start waiting for the message to get delivered asynch
waitingForMessage = true;
while ( ( messages.isEmpty()  !closed ) || ( !session.running ) )
{
   try
   {
// messages gets signaled once ClientIL.receive finishes
processing the message.
  messages.wait();
   } catch ( InterruptedException e )
   {
   }
}
if ( closed )
{
   waitingForMessage = false;
   break outer;
}
  // the message sent via ClientIL.receive should now be sitting in
messages
mes = ( SpyMessage )messages.removeFirst();
waitingForMessage = false;
}


I hope that helped!  I think the XIL is great idea!  We might even be able
to develop a c base API to access mq services (important in the integration
space).

Regards,
Hiram


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of John
 Fawcett
 Sent: Thursday, January 09, 2003 8:09 PM
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] JBossMQ


 Hi,

 I am working on a new invocation layer (IL) for JbossMQ that encodes all
 communication in Xml (XIL). I've got the IL pretty near completion, and
 I am working on a C# jbossmq client.  I am trying to develop the
 TopicSubsciber, which is an extension of MessageConsumer. In reviewing
 the code in the jbossmq java sources, it looks to me like the client to
 a topic actually runs a loop sending receive requests to the server
 regularly.

 Is this really necessary? Once the connection has been established, why
 can't the server just invoke the ClientIL.receive method (which actually
 sends the message to the client) when a message arrives at the
 destination?
 It looks to me like the current implementation is not truly
 asynchronous...
 What am I missing?

 Thanks,
 fawce


 -
 John Fawcett
 CTO, Tamale Software, LLC
 26 Fox Road
 Waltham, MA 02451



 ---
 This SF.NET email is sponsored by:
 SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
 http://www.vasoftware.com
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ

2003-01-09 Thread John Fawcett
Hi,

I am working on a new invocation layer (IL) for JbossMQ that encodes all
communication in Xml (XIL). I've got the IL pretty near completion, and
I am working on a C# jbossmq client.  I am trying to develop the
TopicSubsciber, which is an extension of MessageConsumer. In reviewing
the code in the jbossmq java sources, it looks to me like the client to
a topic actually runs a loop sending receive requests to the server
regularly. 

Is this really necessary? Once the connection has been established, why
can't the server just invoke the ClientIL.receive method (which actually
sends the message to the client) when a message arrives at the
destination?
It looks to me like the current implementation is not truly
asynchronous...
What am I missing?

Thanks,
fawce


-
John Fawcett
CTO, Tamale Software, LLC
26 Fox Road
Waltham, MA 02451



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] jbossmq and jca 1.5

2002-10-05 Thread Hiram Chirino

Hey David..  I want to see If I can start working on this.

I know like amost zero about jca but I know quite a bit about the XA stuff
and how jbossmq txs work with the MDB.

anyways..  I guess what I need to know is how is the contianer going to
initialize
the jms stuff so that it can deliver the container it's messages.


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of David
 Jencks
 Sent: Friday, August 30, 2002 1:35 PM
 To: jboss-dev
 Subject: [JBoss-dev] jbossmq and jca 1.5


 I started looking at modifying jbossmq and/or the jmsra adapter to work
 with the j2ee connector architecture 1.5 facilities.  I am
 definitely not a
 jms expert so a lot of what I say may not make sense.

 Here's what the new spec provides that I think is relevant:

 thread pooling through the WorkManager interface.  You submit Work
 instances to be done in other threads.  The app server controls the thread
 pooling.

 message inflow through the MessageEndpoint interfaces.  In particular, I
 think we should use Option B which involves the jms system calling, on a
 MessageEndpoint supplied from the app server,

 beforeDelivery([the onMessage method]); //this starts the jta tx and
 informs the adapter via an XAResource the adapter supplied earlier.

 onMessage(message); //actual message delivery to MessageListener

 afterDelivery(); //ends the tx, again the adapter is informed via the
 XAResource.

 

 I keep getting lost looking at the jms code.  My impression so far is that
 although the jca 1 jmsra adapter appears to work ok without modifying
 jbossmq, using the contracts mentioned above will require additional code
 in jbossmq itself, namely an additional way of delivering
 messages within a
 transaction.

 Does this make sense?  Do any of the jbossmq experts want to work on this?

 There are very simple examples of using the work and message endpoint
 interfaces in the testsuite in .../jca/inflow.

 I haven't written the deployment portion of the connector 1.5
 support yet:
 I'm hoping for a real adapter example that can be used to test it.
 However, I think for now everything needed can be set up without
 a deployer
 as explicit mbeans: this is what I did in the tests.

 Thanks
 david jencks


 ---
 This sf.net email is sponsored by: OSDN - Tired of that same old
 cell phone?  Get a new here for FREE!
 https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq and jca 1.5

2002-10-05 Thread David Jencks

Hey Hiram,

Glad to see you're getting interested.  Unfortunately I leave for the
weekend in a few minutes... more on monday.

The part of jca 1.5 I haven't written is the deployment of the adapter.  If
you get that far, you should be able to write a simple mbean to create your
ResourceAdapter and any adapter specific objects you need, then I can make
it generic.

Your adapter should have a ResourceAdapter object that sets up the
environment.  It will be provided a BootstrapContext object from which it
can get a WorkManager.  The WorkManager is a thread pool with transaction
import capabilities.  You won't need the tx import capabilities, but you
should use the thread pool.  I plan for the deployer to supply a
WorkManager per deployed adapter, configured according to a jboss-specific
dd, similar to the connection pool configuration.

Instead, use the Message Inflow stuff.  There's a unit test showing how it
works with transactions - org.jboss.test.jca.test.MessageEndpointUnitTestCase.

The deployment system I'm thinking of is to deploy the ResourceAdapter and
other adapter specific objects as xmbeans by generating xmbean xml
deployment descriptors for them.


BTW, I modified the Trunk invoker to make our tm distributed, using the jca
transaction import facilities.  It compiles and runs, but I haven't managed
to set up a test environment for it with 2 servers yet.

Thanks!
david jencks


On 2002.10.05 02:58:45 -0400 Hiram Chirino wrote:
 Hey David..  I want to see If I can start working on this.
 
 I know like amost zero about jca but I know quite a bit about the XA
 stuff
 and how jbossmq txs work with the MDB.
 
 anyways..  I guess what I need to know is how is the contianer going to
 initialize
 the jms stuff so that it can deliver the container it's messages.
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]On Behalf Of
 David
  Jencks
  Sent: Friday, August 30, 2002 1:35 PM
  To: jboss-dev
  Subject: [JBoss-dev] jbossmq and jca 1.5
 
 
  I started looking at modifying jbossmq and/or the jmsra adapter to work
  with the j2ee connector architecture 1.5 facilities.  I am
  definitely not a
  jms expert so a lot of what I say may not make sense.
 
  Here's what the new spec provides that I think is relevant:
 
  thread pooling through the WorkManager interface.  You submit Work
  instances to be done in other threads.  The app server controls the
 thread
  pooling.
 
  message inflow through the MessageEndpoint interfaces.  In particular,
 I
  think we should use Option B which involves the jms system calling, on
 a
  MessageEndpoint supplied from the app server,
 
  beforeDelivery([the onMessage method]); //this starts the jta tx and
  informs the adapter via an XAResource the adapter supplied earlier.
 
  onMessage(message); //actual message delivery to MessageListener
 
  afterDelivery(); //ends the tx, again the adapter is informed via the
  XAResource.
 
  
 
  I keep getting lost looking at the jms code.  My impression so far is
 that
  although the jca 1 jmsra adapter appears to work ok without modifying
  jbossmq, using the contracts mentioned above will require additional
 code
  in jbossmq itself, namely an additional way of delivering
  messages within a
  transaction.
 
  Does this make sense?  Do any of the jbossmq experts want to work on
 this?
 
  There are very simple examples of using the work and message endpoint
  interfaces in the testsuite in .../jca/inflow.
 
  I haven't written the deployment portion of the connector 1.5
  support yet:
  I'm hoping for a real adapter example that can be used to test it.
  However, I think for now everything needed can be set up without
  a deployer
  as explicit mbeans: this is what I did in the tests.
 
  Thanks
  david jencks
 
 
  ---
  This sf.net email is sponsored by: OSDN - Tired of that same old
  cell phone?  Get a new here for FREE!
  https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 ---
 This sf.net email is sponsored by:ThinkGeek
 Welcome to geek heaven.
 http://thinkgeek.com/sf
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq and jca 1.5

2002-09-03 Thread Peter Antman

Hi,
I am sorry I have not had the time to do anything on the jca1.5
integration. I have not even had time to read the new spec. From what
you say I would however draw the following conclusions:

1. The jca 1.5 have defined a new contract superceding chapter 8 in the
   JMS spec, which means that each JMS provider will have to roll its
   own JMS JCC provider adapter.

2. This only affecs asynchronous use, i.e only JMSContainerInvoker.

3. We would therefore perhaps want a jms.JCAContainerInvoker wich works
   agains the new JCA.

4. On the other hand we have been propagating for a year and a half now
   that chapter 8 in the JMS spec give us all we need, and we have
   integrated JBossMQ, SonicMQ and SwiftMQ through the chapter 8 api.

5. Adding a native RA to JBossMQ would entail recreating the Conumer
   stuff in the new RA.

6. My advice would actually be this: write a jca2chapter8 converter.

To do this you would thake the stuff from StdServerSession,
StdServerSessionPool and JMSContainerInvoker and integrate into the RA.
The RA would continue to work against a ProviderAdapter and chapter 8,
but would also be able to work with the new JCA.

Look for example in StdServerSession - there you can split the TX logic
and do your callback. 

The old way is that the appserver provides the thread pool
(StdServerSessionPool), the JMS provider gets a (Std)ServerSession from
the appserverpool, stuff its on session in it and let the appserver do
its work. Seems to be verry similar.

Hope this helps somewhat.

//Peter

On 30 Aug, David Jencks wrote:
 I started looking at modifying jbossmq and/or the jmsra adapter to work
 with the j2ee connector architecture 1.5 facilities.  I am definitely not a
 jms expert so a lot of what I say may not make sense.
 
 Here's what the new spec provides that I think is relevant:
 
 thread pooling through the WorkManager interface.  You submit Work
 instances to be done in other threads.  The app server controls the thread
 pooling.
 
 message inflow through the MessageEndpoint interfaces.  In particular, I
 think we should use Option B which involves the jms system calling, on a
 MessageEndpoint supplied from the app server,
 
 beforeDelivery([the onMessage method]); //this starts the jta tx and
 informs the adapter via an XAResource the adapter supplied earlier.
 
 onMessage(message); //actual message delivery to MessageListener
 
 afterDelivery(); //ends the tx, again the adapter is informed via the
 XAResource.
 
 
 
 I keep getting lost looking at the jms code.  My impression so far is that
 although the jca 1 jmsra adapter appears to work ok without modifying
 jbossmq, using the contracts mentioned above will require additional code
 in jbossmq itself, namely an additional way of delivering messages within a
 transaction.
 
 Does this make sense?  Do any of the jbossmq experts want to work on this?
 
 There are very simple examples of using the work and message endpoint
 interfaces in the testsuite in .../jca/inflow.
 
 I haven't written the deployment portion of the connector 1.5 support yet: 
 I'm hoping for a real adapter example that can be used to test it. 
 However, I think for now everything needed can be set up without a deployer
 as explicit mbeans: this is what I did in the tests.
 
 Thanks
 david jencks
 
 
 ---
 This sf.net email is sponsored by: OSDN - Tired of that same old
 cell phone?  Get a new here for FREE!
 https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter AntmanChief Systems Architect, Business Development
Technology in Media, Box 34105 100 26 Stockholm
WWW: http://www.tim.se  WWW: http://www.backsource.org
Email: [EMAIL PROTECTED]
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 




---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq and jca 1.5

2002-09-03 Thread David Jencks

Many thanks, peter.  I have to work on some other things for a while also,
I will try to look into this more.  Your pointers will be a big help in
seeing how it works.

Thanks
david jencks

On 2002.09.03 03:25:26 -0400 Peter Antman wrote:
 Hi,
 I am sorry I have not had the time to do anything on the jca1.5
 integration. I have not even had time to read the new spec. From what
 you say I would however draw the following conclusions:
 
 1. The jca 1.5 have defined a new contract superceding chapter 8 in the
JMS spec, which means that each JMS provider will have to roll its
own JMS JCC provider adapter.
 
 2. This only affecs asynchronous use, i.e only JMSContainerInvoker.
 
 3. We would therefore perhaps want a jms.JCAContainerInvoker wich works
agains the new JCA.
 
 4. On the other hand we have been propagating for a year and a half now
that chapter 8 in the JMS spec give us all we need, and we have
integrated JBossMQ, SonicMQ and SwiftMQ through the chapter 8 api.
 
 5. Adding a native RA to JBossMQ would entail recreating the Conumer
stuff in the new RA.
 
 6. My advice would actually be this: write a jca2chapter8 converter.
 
 To do this you would thake the stuff from StdServerSession,
 StdServerSessionPool and JMSContainerInvoker and integrate into the RA.
 The RA would continue to work against a ProviderAdapter and chapter 8,
 but would also be able to work with the new JCA.
 
 Look for example in StdServerSession - there you can split the TX logic
 and do your callback. 
 
 The old way is that the appserver provides the thread pool
 (StdServerSessionPool), the JMS provider gets a (Std)ServerSession from
 the appserverpool, stuff its on session in it and let the appserver do
 its work. Seems to be verry similar.
 
 Hope this helps somewhat.
 
 //Peter
 
 On 30 Aug, David Jencks wrote:
  I started looking at modifying jbossmq and/or the jmsra adapter to work
  with the j2ee connector architecture 1.5 facilities.  I am definitely
 not a
  jms expert so a lot of what I say may not make sense.
  
  Here's what the new spec provides that I think is relevant:
  
  thread pooling through the WorkManager interface.  You submit Work
  instances to be done in other threads.  The app server controls the
 thread
  pooling.
  
  message inflow through the MessageEndpoint interfaces.  In particular,
 I
  think we should use Option B which involves the jms system calling, on
 a
  MessageEndpoint supplied from the app server,
  
  beforeDelivery([the onMessage method]); //this starts the jta tx and
  informs the adapter via an XAResource the adapter supplied earlier.
  
  onMessage(message); //actual message delivery to MessageListener
  
  afterDelivery(); //ends the tx, again the adapter is informed via the
  XAResource.
  
  
  
  I keep getting lost looking at the jms code.  My impression so far is
 that
  although the jca 1 jmsra adapter appears to work ok without modifying
  jbossmq, using the contracts mentioned above will require additional
 code
  in jbossmq itself, namely an additional way of delivering messages
 within a
  transaction.
  
  Does this make sense?  Do any of the jbossmq experts want to work on
 this?
  
  There are very simple examples of using the work and message endpoint
  interfaces in the testsuite in .../jca/inflow.
  
  I haven't written the deployment portion of the connector 1.5 support
 yet: 
  I'm hoping for a real adapter example that can be used to test it. 
  However, I think for now everything needed can be set up without a
 deployer
  as explicit mbeans: this is what I did in the tests.
  
  Thanks
  david jencks
  
  
  ---
  This sf.net email is sponsored by: OSDN - Tired of that same old
  cell phone?  Get a new here for FREE!
  https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 -- 
 
 Peter Antman  Chief Systems Architect, Business Development
 Technology in Media, Box 34105 100 26 Stockholm
 WWW: http://www.tim.seWWW: http://www.backsource.org
 Email: [EMAIL PROTECTED]  
 Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 
 
 
 
 
 ---
 This sf.net email is sponsored by: OSDN - Tired of that same old
 cell phone?  Get a new here for FREE!
 https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!

[JBoss-dev] jbossmq and jca 1.5

2002-08-30 Thread David Jencks

I started looking at modifying jbossmq and/or the jmsra adapter to work
with the j2ee connector architecture 1.5 facilities.  I am definitely not a
jms expert so a lot of what I say may not make sense.

Here's what the new spec provides that I think is relevant:

thread pooling through the WorkManager interface.  You submit Work
instances to be done in other threads.  The app server controls the thread
pooling.

message inflow through the MessageEndpoint interfaces.  In particular, I
think we should use Option B which involves the jms system calling, on a
MessageEndpoint supplied from the app server,

beforeDelivery([the onMessage method]); //this starts the jta tx and
informs the adapter via an XAResource the adapter supplied earlier.

onMessage(message); //actual message delivery to MessageListener

afterDelivery(); //ends the tx, again the adapter is informed via the
XAResource.



I keep getting lost looking at the jms code.  My impression so far is that
although the jca 1 jmsra adapter appears to work ok without modifying
jbossmq, using the contracts mentioned above will require additional code
in jbossmq itself, namely an additional way of delivering messages within a
transaction.

Does this make sense?  Do any of the jbossmq experts want to work on this?

There are very simple examples of using the work and message endpoint
interfaces in the testsuite in .../jca/inflow.

I haven't written the deployment portion of the connector 1.5 support yet: 
I'm hoping for a real adapter example that can be used to test it. 
However, I think for now everything needed can be set up without a deployer
as explicit mbeans: this is what I did in the tests.

Thanks
david jencks


---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq and jca 1.5

2002-08-30 Thread Andreas Schaefer

Hi David

I am still looking into the code to become an JMS expert but I would
like to help to implement this. Because I added the Common Interfaces
of JMS 1.1 it would like to use this opportunity to make the appropriate
changes here.
This week I am pretty busy.

Have fun - Andy

 I started looking at modifying jbossmq and/or the jmsra adapter to work
 with the j2ee connector architecture 1.5 facilities.  I am definitely not
a
 jms expert so a lot of what I say may not make sense.

 Here's what the new spec provides that I think is relevant:

 thread pooling through the WorkManager interface.  You submit Work
 instances to be done in other threads.  The app server controls the thread
 pooling.

 message inflow through the MessageEndpoint interfaces.  In particular, I
 think we should use Option B which involves the jms system calling, on a
 MessageEndpoint supplied from the app server,

 beforeDelivery([the onMessage method]); //this starts the jta tx and
 informs the adapter via an XAResource the adapter supplied earlier.

 onMessage(message); //actual message delivery to MessageListener

 afterDelivery(); //ends the tx, again the adapter is informed via the
 XAResource.

 

 I keep getting lost looking at the jms code.  My impression so far is that
 although the jca 1 jmsra adapter appears to work ok without modifying
 jbossmq, using the contracts mentioned above will require additional code
 in jbossmq itself, namely an additional way of delivering messages within
a
 transaction.

 Does this make sense?  Do any of the jbossmq experts want to work on this?

 There are very simple examples of using the work and message endpoint
 interfaces in the testsuite in .../jca/inflow.

 I haven't written the deployment portion of the connector 1.5 support yet:
 I'm hoping for a real adapter example that can be used to test it.
 However, I think for now everything needed can be set up without a
deployer
 as explicit mbeans: this is what I did in the tests.

 Thanks
 david jencks


 ---
 This sf.net email is sponsored by: OSDN - Tired of that same old
 cell phone?  Get a new here for FREE!
 https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development






---
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1refcode1=vs3390
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ... what happened?

2002-06-04 Thread MNewcomb

Um, what is up with JBossMQ?  I'm working of the latest CVS (actually the
problem below has been happening for the past few weeks) and JMS is absent
from JNDI.

The sample Queues and Topics are being created because I see them in the
Agent View under the jboss.mq.destination section.  I also see all the
invocation layers under the jboss.mq section.  However, when I do a
JNDIView, there is no queue/topic sub-contexts in the global JNDI namespace
nor are there any connection factories.

Is JMS disabled somehow in the default build?  If so, why are the
topics/queues being created if they aren't going to be made available?

Thanks,
Michael


___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ JMX Interface change

2002-05-03 Thread Hiram Chirino


Hi guys,

I just finished commiting some major refactoring of the JBossMQ server.  It 
just involved formaizing the interceptor pattern that peter started with the 
security manager addition.  I also refactored some of the JMX MBeans to 
thier own package.  So this is your notice:

THE JMX INTERFACE TO JBOSSMQ CHANGED.

Ok, it didn't change that much but, it changed.  I hope this does not break 
too many things.

I'll be commiting these changes to Branch_3_0 soon.

Regards,
Hiram

_
Chat with friends online, try MSN Messenger: http://messenger.msn.com


___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ JavaCC Problem

2002-04-30 Thread Jason Dillon

It should be possible to define any sort of grammer with JavaCC. 
 Perhaps the root production does not have the proper terminators to 
single the end of a selector?

--jason


Hiram Chirino wrote:

 To all JavaCC Gurus,

 The javacc grammar that JBossMQ is using has a problem.  It can't 
 detect that the selector: definitely not a message selector! is an 
 invalid selector.  It just parses the first itentifier, definitely 
 and then skips over the rest of the selector.

 Is there an easy way for javacc to pick up that there are some excess 
 tokens and spit out an error???

 Regards,
 Hiram


 _
 Get your FREE download of MSN Explorer at 
 http://explorer.msn.com/intl.asp.


 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development




___

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: 
[EMAIL PROTECTED]
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ JavaCC Problem

2002-04-30 Thread Scott M Stark

I'm looking into it.


Scott Stark
Chief Technology Officer
JBoss Group, LLC

- Original Message -
From: Hiram Chirino [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, April 29, 2002 9:50 PM
Subject: [JBoss-dev] JBossMQ JavaCC Problem


 To all JavaCC Gurus,

 The javacc grammar that JBossMQ is using has a problem.  It can't detect
 that the selector: definitely not a message selector! is an invalid
 selector.  It just parses the first itentifier, definitely and then
skips
 over the rest of the selector.

 Is there an easy way for javacc to pick up that there are some excess
tokens
 and spit out an error???

 Regards,
 Hiram


 _
 Get your FREE download of MSN Explorer at
http://explorer.msn.com/intl.asp.


 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development






Re: [JBoss-dev] JBossMQ JavaCC Problem

2002-04-30 Thread Scott M Stark

Fixed. All parser unit tests now run without errors.


Scott Stark
Chief Technology Officer
JBoss Group, LLC

- Original Message -
From: Hiram Chirino [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, April 29, 2002 9:50 PM
Subject: [JBoss-dev] JBossMQ JavaCC Problem


 To all JavaCC Gurus,

 The javacc grammar that JBossMQ is using has a problem.  It can't detect
 that the selector: definitely not a message selector! is an invalid
 selector.  It just parses the first itentifier, definitely and then
skips
 over the rest of the selector.

 Is there an easy way for javacc to pick up that there are some excess
tokens
 and spit out an error???






[JBoss-dev] JBossMQ JavaCC Problem

2002-04-29 Thread Hiram Chirino

To all JavaCC Gurus,

The javacc grammar that JBossMQ is using has a problem.  It can't detect 
that the selector: definitely not a message selector! is an invalid 
selector.  It just parses the first itentifier, definitely and then skips 
over the rest of the selector.

Is there an easy way for javacc to pick up that there are some excess tokens 
and spit out an error???

Regards,
Hiram


_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ Questions

2002-04-27 Thread Andreas Schaefer

Hi Hiram

Just started to implement JSR-77 performance
monitoring on JBossMQ (was just in the flow
after the recent events). I came up with some
questions but let me explain what JSR-77 spec.
contains:
a JMS stats contains:
- list of connections
   - which contains a list of sesssions
  - which contains a list of consumers and producers

I started adding JBoss MQ code in JMSServer
because this seems to be the central component
of JBossMQ.
Now I need to find out what connections exists
and retrieve informations from them inclusive the
list of sessions and from this the list of sender/receivers
or list of publisher/subscribers. All this seems not
to be a problem.
But I don't see the connnection between JMSServer
and SpyConnection. Is there a way to get there inclusive
going over JNDI or JMX ?

Thanx

x
Andreas Schaefer
Senior Consultant
JBoss Group, LLC
x



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ Problem with Topics

2002-04-17 Thread Andreas Schaefer

Hi Geeks

When a message is sent to a non-durable, non-persistent
topic and no subscriber are available is then the message
kept in memory or dropped ?

Thanx

x
Andreas Schaefer
Senior Consultant
JBoss Group, LLC
x



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JBossMQ Problem with Topics

2002-04-17 Thread David Maplesden

Dropped, as per the JMS spec.

 -Original Message-
 From: Andreas Schaefer [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, April 18, 2002 11:59 AM
 To: Hiram Chirino
 Cc: [EMAIL PROTECTED]
 Subject: [JBoss-dev] JBossMQ Problem with Topics
 
 
 Hi Geeks
 
 When a message is sent to a non-durable, non-persistent
 topic and no subscriber are available is then the message
 kept in memory or dropped ?
 
 Thanx
 
 x
 Andreas Schaefer
 Senior Consultant
 JBoss Group, LLC
 x
 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 ---
 Incoming mail is certified Virus Free.
 Checked by AVG anti-virus system (http://www.grisoft.com).
 Version: 6.0.350 / Virus Database: 196 - Release Date: 4/17/2002
  
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.350 / Virus Database: 196 - Release Date: 4/17/2002
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ Memory Leak

2002-04-16 Thread Andreas Schaefer

Hi Hiram

I just heared from a customer that they found a
memory leak in JBossMQ with a profiler. He
promised to send information about it soon
I am also working on a long term test. Because
of that I will create a marathon test case for
JBossMQ in the next days to investigate this
issue further.

So I will let you know as soon as I get more
information.

Andy

x
Andreas Schaefer
Senior Consultant
JBoss Group, LLC
x



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] jbossmq-oldstate.xml

2002-03-07 Thread Jason Dillon

Is this file really needed?

--jason


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq-oldstate.xml

2002-03-07 Thread Peter Antman

On  7 Mar, Jason Dillon wrote:

It's there to easy transition. The old state manager is still around for
people having tons of users in their old state format, so it's mostly
there to document the format of the OldStatemanager since it do not have
a DTD. Maybe it should not get copy'd over during the jboss server
build.

//Peter
 Is this file really needed?
 
 --jason
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter AntmanChief Systems Architect, Business Development
Technology in Media, Box 34105 100 26 Stockholm
WWW: http://www.tim.se  WWW: http://www.backsource.org
Email: [EMAIL PROTECTED]
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-24 Thread pra

On 22 Feb, Scott M Stark wrote:
[...]
 The new resource adaptor security will only be implemented in 3.x. The
 current 2.4 code base does not matter.
 
 Well, a connection hold in vm may possibly be used by different threads,
 but the connection should, in case it was started with userid/pwd, hold
 ontoit itself, and it ought to be the server side that does this.
 
 Instead of relying on a thread local as in SecurityAssociation and the
 security manager (for subject), we could perhaps store the subject in
 ClassContextLocal storage. But I am reallt not shure about this now.
 This will be an implementation detail of your resource adaptor. There
 will be no use of SecurityAssociation at the resource adaptor level.
 
 

The current status for JMS is this regarding JCA: the is no support for
asynchronous messaging. Ad to this that to use a JCA ra i a non managed
environment is a pain in the neck. At least half of the users using
JBossMQ does it on a pure/old client-server setup (no J2EE on the client
side).

This mean that we can not only provide JCA ra for JBossMQ, but must
support the vanilla JMS, and thefore managed the secrurity stuff in the
all the different IL:s. For the JBoss JMS ra and MDB it might be another
matter. We will see.

//Peter

 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-24 Thread pra

On 22 Feb, David Jencks wrote:
 On 2002.02.22 14:50:00 -0500 [EMAIL PROTECTED] wrote:
[...]
 (Do you remember our discussions earlier about this. I did infact
 implement a DirContext impelementation and a DirContext JCA adapter wich
 plugged in both as a JAAS LoginModule and made it easy to access user
 data through current subject and the DirContext JCA adapter. However I
 never committed this, since the DirContext implementation was and it not
 based on JBoss naming. I also had to make changes to core JBoss classes
 to make this work, and still have problem with the pool implementation
 wich does not handle when a resource adapter fails because of
 autentication failoure (if configured to wait hard it hangs forever, if
 not it leaks connections).
 
 Can you be more specific about what the problem is here?
 
 I'd like to look at your adapter.  I've been working (very slowly) on how
 to hook up the ConnectionManager to JAAS.

I will try to pack it up and send it to you.

 
 1. I plan to implement the JMS security stuff much the same as the
SecurityInterceptor works. I have made I a first version of an
interceptor layer for JBossMQ where a security interceptor can be
pluged in . No JCA stuff needed here actually.
 
 2. JCA (perhaps) commes in if we raise the question: should current
principal or subject be propagated when opening a JMS connection.
I.e, you obtain a ConnectionFactory in an EJB (through JCA or not),
if you do not use a userid/pwd should the principal/subject be
propagated. Probably yes.
 
 3. Coordinating JCA and LoginModule, so that they use the same
configuration, or perhaps more correct: for a particular JCA we could
JAAS to use it for autentication. As I said above, this does not
work with the current JBoss code base,  at least not in 2.4, but it
is possible to fix (and really nice to use).
 
 
 I think this is what I am working on.  I've written a new implementation of
 ConnectionManager that implements quite a bit more of the required
 functionality and does pooling in (IMHO) a simpler, more pluggable, and
 more bug-free way.  Hooking up to security is the largest incomplete part.


It's been a while since I worked with it, but I basically did this
(following appendix c - i think - in the JCA spec):

- A JCA RA should provide its own LoginLodule.
- This has to be manually added to auth.conf (or perhaps mor preferably
  the xml version of Scott's making.
- The JCA RA specific LoginLodule will save the data it needs to use
  later to continue to autenticate the user in specific parts of the
  Subject (private credentials).
- I wrote code for my DirCtx to use the same baseclasses to do
  autentication both in the LoginLodule and in the ra.
- Next I nedded to get the currentActive subject to be sent to the ra
  during connections. I did this by modifying the
  ConnectionFactoryLoader and JBossResourceSubjectFactory and having a
  SubjectResourceSubjectFactory, which uses the active subject:

   public Subject getSubject(ManagedConnectionFactory mcf, String cmName)
   {
  // For now we go for the Subject directly
   // How do we get at the security domain??
   try {
   return getActiveSubject();
   }catch(NamingException ex) {
   category.error(Could not get the active subject);
   }
   return null;

}

private Subject getActiveSubject() throws NamingException{

try {
String domain = null;
InitialContext iniCtx = new InitialContext();
Context securityCtx = (Context) iniCtx.lookup(java:comp/env/security);
JaasSecurityManager  securityMgr = (JaasSecurityManager ) 
securityCtx.lookup(securityMgr);
domain = securityMgr.getSecurityDomain();
Subject s = (Subject) iniCtx.lookup(java:jaas/ + domain+/subject);
category.debug(Returning active subject  + s);
return s;

}catch(Exception ex) {
NamingException ne = new  NamingException(Could not get current security 
domain:  + ex.toString());
ne.setRootCause(ex);
throw ne;
}

}

For the ldap/dirCtx stuff, this means that the credentiall will allways
be saved and ne available. At the time I though Scott considered this a
verry bad idea. But now I can see that it is much worse than the
password beeing sent in cleartext in every RMI invokation (if using JAAS
and clear text passwords that is).

I don't think I really solved having a unifyed configuration either,
partly because the auth.conf loading is (if I remember correct) verry
much static and hard to override. 

I will send you the code, I we may continue the discussion if you want
to.

//Peter
 
 david jencks
 
 
  For the JVM invoker (which is only ever used inside the same VM as
  JBoss9, do you think it would be a good aproximation to say that a
  connection and its child object will allways be accessed by the same
  context classloader that 

[JBoss-dev] JBossMQ StateManager

2002-02-22 Thread Alexander Horuzhiy

Hi,
you have plane to implementing JDBC StateManager?

//Alexander

_
View thread online: http://main.jboss.org/thread.jsp?forum=66thread=9412

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ StateManager

2002-02-22 Thread pra

On 22 Feb, Alexander Horuzhiy wrote:
 Hi,
 you have plane to implementing JDBC StateManager?

No, perhaps make it more pluggable. Then I would probably make an
DirContext/Ladap one...but thats for later. First we need to get
autentication pluggable.

//Peter
 
 //Alexander
 
 _
 View thread online: http://main.jboss.org/thread.jsp?forum=66thread=9412
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread pra

Hi all, but mostly Scott I guess ;-)
I am experimentally adding JAAS support for JBossMQ to handle
autentication and autorization. And I have some problem with how to
propagate and keep the principall around for the rmi and jvm invokation
layers (for OIL and OUL it seems easy beacuse you can use ThreadLocals
on the server side). Both the rmi and jvm are however stateless and are
represented by only one object each and no thread they personally own.

I tried to look at the documentation for how to set up a JAAS aware
client, and then  looked somewhat into the proxy, jrmp and
SecurityInterceptor code, and guess what, it looks to mee as we are
sending both the principall and the credentials on every invokation, and
also does an authentication (although mostly against the cache) on every
invokation. Is this so?

If it is so, is this really good?

- Sending a possible clear text password on every invokation?
- Having to digest the credentialls on every invokation?

If I am wrong (I sort of hope I am), could anyone explain to me how the
principal is propagated over rmi from the client. 

Hiram and I have sort of discussed saving a hashed key in the connection
token for JMS which could represent a principal, but would that be good
practice?

For the JVM invoker (which is only ever used inside the same VM as
JBoss9, do you think it would be a good aproximation to say that a
connection and its child object will allways be accessed by the same
context classloader that created it (in  that case we could use
ContextClassLocal - yes, same as for ThreadLocal, but with classloader
as hashkey instead)?

//Peter
-- 

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread Ken Sipe

well I'm not Scott, but I've been working on security for a client.  This
probably belongs on one of the forums but here are a few answers.

Yes the password is sent clear text.
Yes you can use encryption or ssl to protect yourself.
Yes it is sent every Invocation.
For the rmi, look at the MethodInvocation class for jboss 2.4.x or
Invocation for jboss 3.

On this subject I would like to propose a few things:
For JBoss 2.4.x (I haven't tested on JBoss 3 yet), the logout doesn't do
anything (really).

Scenario:
A client connects, logs in, does a remote invocation, is validated, gets a
return, logs out, exits.  The client again starts up, logs in, does a remote
invocation, OK... here it isn't really validated again it is pulled out of
the cache, no password validation, no new roles if they exist.  Of course
this is because of the cache.  And I want the cache as long as the client is
still logged in under the same session.  The consequence of this is that
after a person logs in, and until the cache times out, anyone can
impersonate that user all he has to know is the userid. (no special password
required)

I would like to see a token that is sent with the Invocation that is set
when the server actually authenticates a user.  It is returned to the client
and is re-sent every time the client does a remote invocation.  UNTIL... the
client logs out or exits of course.

Next Invocation after a logout or re-login, the Invocation is naked ;)
(doesn't have a token), without the token the server knows to invalidate his
cache and re-authenticate.

Scott, any thoughts?

Ken

- Original Message -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, February 22, 2002 12:26 PM
Subject: [JBoss-dev] JBossMQ and JAAS


 Hi all, but mostly Scott I guess ;-)
 I am experimentally adding JAAS support for JBossMQ to handle
 autentication and autorization. And I have some problem with how to
 propagate and keep the principall around for the rmi and jvm invokation
 layers (for OIL and OUL it seems easy beacuse you can use ThreadLocals
 on the server side). Both the rmi and jvm are however stateless and are
 represented by only one object each and no thread they personally own.

 I tried to look at the documentation for how to set up a JAAS aware
 client, and then  looked somewhat into the proxy, jrmp and
 SecurityInterceptor code, and guess what, it looks to mee as we are
 sending both the principall and the credentials on every invokation, and
 also does an authentication (although mostly against the cache) on every
 invokation. Is this so?

 If it is so, is this really good?

 - Sending a possible clear text password on every invokation?
 - Having to digest the credentialls on every invokation?

 If I am wrong (I sort of hope I am), could anyone explain to me how the
 principal is propagated over rmi from the client.

 Hiram and I have sort of discussed saving a hashed key in the connection
 token for JMS which could represent a principal, but would that be good
 practice?

 For the JVM invoker (which is only ever used inside the same VM as
 JBoss9, do you think it would be a good aproximation to say that a
 connection and its child object will allways be accessed by the same
 context classloader that created it (in  that case we could use
 ContextClassLocal - yes, same as for ThreadLocal, but with classloader
 as hashkey instead)?

 //Peter
 --
 
 Peter Antman Technology in Media, Box 34105 100 26 Stockholm
 Systems ArchitectWWW: http://www.tim.se
 Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
 Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942
 


 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread Scott M Stark

 I tried to look at the documentation for how to set up a JAAS aware
 client, and then  looked somewhat into the proxy, jrmp and
 SecurityInterceptor code, and guess what, it looks to mee as we are
 sending both the principall and the credentials on every invokation, and
 also does an authentication (although mostly against the cache) on every
 invokation. Is this so?
 
Yes.

 If it is so, is this really good?
 
 - Sending a possible clear text password on every invokation?
 - Having to digest the credentialls on every invokation?
 
This is the stateless web model. You either have to invoke transport
level encryption, use finer grained encryption on the sensitive info,
or use some opaque transient session key created using a public key
exchange algorithm. Transport encryption can be expensive, or it can
be free if you have a network that supports TLS at the ethernet card
level like Intel does.

 If I am wrong (I sort of hope I am), could anyone explain to me how the
 principal is propagated over rmi from the client. 
 
By infecting the smart proxy layer obtained from the JNDI home
lookup with the credential information established by the JAAS login.

 Hiram and I have sort of discussed saving a hashed key in the connection
 token for JMS which could represent a principal, but would that be good
 practice?
 
David and I have discussed using the JCA facilities for this. Security
implementation has to move out of JBossMQ and into the security
manager layer. If you want to maintain a usable security model independent
of the JBoss server core, then we have to come up with a pluggable
model that will work with security through JCA. Let's start discussing
this.

 For the JVM invoker (which is only ever used inside the same VM as
 JBoss9, do you think it would be a good aproximation to say that a
 connection and its child object will allways be accessed by the same
 context classloader that created it (in  that case we could use
 ContextClassLocal - yes, same as for ThreadLocal, but with classloader
 as hashkey instead)?
To do what?



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread Scott M Stark

This is strictly a login module configuration issue. The SRP login
module implementation comes as a client/server pair of login modules
that maintain a user based state that can be logged out immeadiately.
Read the SRP section in the JBossSX chapter of the book as
it talks in detail about this.

All is possible with JBoss.

 Scenario:
 A client connects, logs in, does a remote invocation, is validated, gets a
 return, logs out, exits.  The client again starts up, logs in, does a
remote
 invocation, OK... here it isn't really validated again it is pulled out of
 the cache, no password validation, no new roles if they exist.  Of course
 this is because of the cache.  And I want the cache as long as the client
is
 still logged in under the same session.  The consequence of this is that
 after a person logs in, and until the cache times out, anyone can
 impersonate that user all he has to know is the userid. (no special
password
 required)

 I would like to see a token that is sent with the Invocation that is set
 when the server actually authenticates a user.  It is returned to the
client
 and is re-sent every time the client does a remote invocation.  UNTIL...
the
 client logs out or exits of course.

 Next Invocation after a logout or re-login, the Invocation is naked ;)
 (doesn't have a token), without the token the server knows to invalidate
his
 cache and re-authenticate.

 Scott, any thoughts?



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread pra

On 22 Feb, Scott M Stark wrote:
 I tried to look at the documentation for how to set up a JAAS aware
 client, and then  looked somewhat into the proxy, jrmp and
 SecurityInterceptor code, and guess what, it looks to mee as we are
 sending both the principall and the credentials on every invokation, and
 also does an authentication (although mostly against the cache) on every
 invokation. Is this so?
 
 Yes.
 
 If it is so, is this really good?
 
 - Sending a possible clear text password on every invokation?
 - Having to digest the credentialls on every invokation?
 
 This is the stateless web model.
?

Not if you have a standalone client. The its should be the stateless RMI
model, or what?

 You either have to invoke transport
 level encryption, use finer grained encryption on the sensitive info,
 or use some opaque transient session key created using a public key
 exchange algorithm. Transport encryption can be expensive, or it can
 be free if you have a network that supports TLS at the ethernet card
 level like Intel does.

The more I think about it, we could start by using a simple session
mechanism. I have to think about how to make this not to uncompatible
with other auth mechanism then clear text passwords.
 
 If I am wrong (I sort of hope I am), could anyone explain to me how the
 principal is propagated over rmi from the client. 
 
 By infecting the smart proxy layer obtained from the JNDI home
 lookup with the credential information established by the JAAS login.
 
 Hiram and I have sort of discussed saving a hashed key in the connection
 token for JMS which could represent a principal, but would that be good
 practice?
 
 David and I have discussed using the JCA facilities for this. Security
 implementation has to move out of JBossMQ and into the security
 manager layer. If you want to maintain a usable security model independent
 of the JBoss server core, then we have to come up with a pluggable
 model that will work with security through JCA. Let's start discussing
 this.
 

This includes a lot of stuff.

(Do you remember our discussions earlier about this. I did infact
implement a DirContext impelementation and a DirContext JCA adapter wich
plugged in both as a JAAS LoginModule and made it easy to access user
data through current subject and the DirContext JCA adapter. However I
never committed this, since the DirContext implementation was and it not
based on JBoss naming. I also had to make changes to core JBoss classes
to make this work, and still have problem with the pool implementation
wich does not handle when a resource adapter fails because of
autentication failoure (if configured to wait hard it hangs forever, if
not it leaks connections).

1. I plan to implement the JMS security stuff much the same as the
   SecurityInterceptor works. I have made I a first version of an
   interceptor layer for JBossMQ where a security interceptor can be
   pluged in . No JCA stuff needed here actually.

2. JCA (perhaps) commes in if we raise the question: should current
   principal or subject be propagated when opening a JMS connection.
   I.e, you obtain a ConnectionFactory in an EJB (through JCA or not),
   if you do not use a userid/pwd should the principal/subject be
   propagated. Probably yes.

3. Coordinating JCA and LoginModule, so that they use the same
   configuration, or perhaps more correct: for a particular JCA we could
   JAAS to use it for autentication. As I said above, this does not
   work with the current JBoss code base,  at least not in 2.4, but it
   is possible to fix (and really nice to use).



 For the JVM invoker (which is only ever used inside the same VM as
 JBoss9, do you think it would be a good aproximation to say that a
 connection and its child object will allways be accessed by the same
 context classloader that created it (in  that case we could use
 ContextClassLocal - yes, same as for ThreadLocal, but with classloader
 as hashkey instead)?
 To do what?

Well, a connection hold in vm may possibly be used by different threads,
but the connection should, in case it was started with userid/pwd, hold
ontoit itself, and it ought to be the server side that does this.

Instead of relying on a thread local as in SecurityAssociation and the
security manager (for subject), we could perhaps store the subject in
ClassContextLocal storage. But I am reallt not shure about this now.

//Peter
 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___

Re: [JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread Scott M Stark


  This is the stateless web model.
 Not if you have a standalone client. The its should be the stateless RMI
 model, or what?
 
Yes, the RMI proxies are stateless with respect to the client.

 2. JCA (perhaps) commes in if we raise the question: should current
principal or subject be propagated when opening a JMS connection.
I.e, you obtain a ConnectionFactory in an EJB (through JCA or not),
if you do not use a userid/pwd should the principal/subject be
propagated. Probably yes.
 
This is a definite yes.

 3. Coordinating JCA and LoginModule, so that they use the same
configuration, or perhaps more correct: for a particular JCA we could
JAAS to use it for autentication. As I said above, this does not
work with the current JBoss code base,  at least not in 2.4, but it
is possible to fix (and really nice to use).
 
The new resource adaptor security will only be implemented in 3.x. The
current 2.4 code base does not matter.

 Well, a connection hold in vm may possibly be used by different threads,
 but the connection should, in case it was started with userid/pwd, hold
 ontoit itself, and it ought to be the server side that does this.
 
 Instead of relying on a thread local as in SecurityAssociation and the
 security manager (for subject), we could perhaps store the subject in
 ClassContextLocal storage. But I am reallt not shure about this now.
This will be an implementation detail of your resource adaptor. There
will be no use of SecurityAssociation at the resource adaptor level.



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ and JAAS

2002-02-22 Thread David Jencks

On 2002.02.22 14:50:00 -0500 [EMAIL PROTECTED] wrote:
 On 22 Feb, Scott M Stark wrote:
  I tried to look at the documentation for how to set up a JAAS aware
  client, and then  looked somewhat into the proxy, jrmp and
  SecurityInterceptor code, and guess what, it looks to mee as we are
  sending both the principall and the credentials on every invokation,
 and
  also does an authentication (although mostly against the cache) on
 every
  invokation. Is this so?
  
  Yes.
  
  If it is so, is this really good?
  
  - Sending a possible clear text password on every invokation?
  - Having to digest the credentialls on every invokation?
  
  This is the stateless web model.
 ?
 
 Not if you have a standalone client. The its should be the stateless RMI
 model, or what?
 
  You either have to invoke transport
  level encryption, use finer grained encryption on the sensitive info,
  or use some opaque transient session key created using a public key
  exchange algorithm. Transport encryption can be expensive, or it can
  be free if you have a network that supports TLS at the ethernet card
  level like Intel does.
 
 The more I think about it, we could start by using a simple session
 mechanism. I have to think about how to make this not to uncompatible
 with other auth mechanism then clear text passwords.
  
  If I am wrong (I sort of hope I am), could anyone explain to me how
 the
  principal is propagated over rmi from the client. 
  
  By infecting the smart proxy layer obtained from the JNDI home
  lookup with the credential information established by the JAAS login.
  
  Hiram and I have sort of discussed saving a hashed key in the
 connection
  token for JMS which could represent a principal, but would that be
 good
  practice?
  
  David and I have discussed using the JCA facilities for this. Security
  implementation has to move out of JBossMQ and into the security
  manager layer. If you want to maintain a usable security model
 independent
  of the JBoss server core, then we have to come up with a pluggable
  model that will work with security through JCA. Let's start discussing
  this.
  
 
 This includes a lot of stuff.
 
 (Do you remember our discussions earlier about this. I did infact
 implement a DirContext impelementation and a DirContext JCA adapter wich
 plugged in both as a JAAS LoginModule and made it easy to access user
 data through current subject and the DirContext JCA adapter. However I
 never committed this, since the DirContext implementation was and it not
 based on JBoss naming. I also had to make changes to core JBoss classes
 to make this work, and still have problem with the pool implementation
 wich does not handle when a resource adapter fails because of
 autentication failoure (if configured to wait hard it hangs forever, if
 not it leaks connections).

Can you be more specific about what the problem is here?

I'd like to look at your adapter.  I've been working (very slowly) on how
to hook up the ConnectionManager to JAAS.
 
 1. I plan to implement the JMS security stuff much the same as the
SecurityInterceptor works. I have made I a first version of an
interceptor layer for JBossMQ where a security interceptor can be
pluged in . No JCA stuff needed here actually.
 
 2. JCA (perhaps) commes in if we raise the question: should current
principal or subject be propagated when opening a JMS connection.
I.e, you obtain a ConnectionFactory in an EJB (through JCA or not),
if you do not use a userid/pwd should the principal/subject be
propagated. Probably yes.
 
 3. Coordinating JCA and LoginModule, so that they use the same
configuration, or perhaps more correct: for a particular JCA we could
JAAS to use it for autentication. As I said above, this does not
work with the current JBoss code base,  at least not in 2.4, but it
is possible to fix (and really nice to use).
 

I think this is what I am working on.  I've written a new implementation of
ConnectionManager that implements quite a bit more of the required
functionality and does pooling in (IMHO) a simpler, more pluggable, and
more bug-free way.  Hooking up to security is the largest incomplete part.

david jencks
 
 
  For the JVM invoker (which is only ever used inside the same VM as
  JBoss9, do you think it would be a good aproximation to say that a
  connection and its child object will allways be accessed by the same
  context classloader that created it (in  that case we could use
  ContextClassLocal - yes, same as for ThreadLocal, but with classloader
  as hashkey instead)?
  To do what?
 
 Well, a connection hold in vm may possibly be used by different threads,
 but the connection should, in case it was started with userid/pwd, hold
 ontoit itself, and it ought to be the server side that does this.
 
 Instead of relying on a thread local as in SecurityAssociation and the
 security manager (for subject), we could perhaps store the subject in
 ClassContextLocal storage. But I 

Re: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-21 Thread Jason Dillon

I will eventually get around to fixing this and in general making the 
testsuite better.  I have been playing with a few ideas to make it 
easier and faster to write test cases too... if only I had more time.

--jason


marc fleury wrote:

|to have testcases that send up to 100 000 messages, sometimes taking up
|to an hour to complete...
|
|How about that?

impractical for the 'fast' test that make sure we don't mess up stuff when
we change something.

it seems, jason, that we need to use your wonderful buildmagic to get that
lenghty test out of there and just run it every night on the beluga machine
but take it out of the standard test.

marcf
|
|//Peter
|
| --jason
|
|
|
|
| ___
| Jboss-development mailing list
| [EMAIL PROTECTED]
| https://lists.sourceforge.net/lists/listinfo/jboss-development
|
|--
|
|Peter Antman Technology in Media, Box 34105 100 26 Stockholm
|Systems ArchitectWWW: http://www.tim.se
|Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
|Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942
|
|
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|https://lists.sourceforge.net/lists/listinfo/jboss-development


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development




___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-21 Thread Peter Antman

On 21 Feb, Jason Dillon wrote:
 I will eventually get around to fixing this and in general making the 
 testsuite better.  I have been playing with a few ideas to make it 
 easier and faster to write test cases too... if only I had more time.

Oh, yes, time. I'am sitting here with this faboulous (;-)) idea of how
to rewrite JBossMQ to also use the MBuss/JBoss decorator pattern...oh,
yes, time...

I have made a new set of stress and massive tests for JBossMQ that I
hope to commit sometime next week, and I might be able to take a quick
look att the complete suite of JMS tests (mdb,jmsra and jbossmq), since
I have a couple of nice JMS worker basec lasses that makes it a litle
bit easier to write stable JMS testcases.

By the way, these new tests are verry time consuming, they starts and
stops JBoss and use big iteration counts. My plan is to integrate is as
an entity ref in build.xml, to not litter that file to much, and not
make them run dring normal testing. Is that OK?

By the way, I need to get the information in the build where the JBoss
output build is. Is there any way to extract this information from
build/build.xml when running testsuite/build.xml (I mean, build magic
way of doing it)?

//Peter
 
 --jason
 
 
 marc fleury wrote:
 
|to have testcases that send up to 100 000 messages, sometimes taking up
|to an hour to complete...
|
|How about that?

impractical for the 'fast' test that make sure we don't mess up stuff when
we change something.

it seems, jason, that we need to use your wonderful buildmagic to get that
lenghty test out of there and just run it every night on the beluga machine
but take it out of the standard test.

marcf
|
|//Peter
|
| --jason
|
|
|
|
| ___
| Jboss-development mailing list
| [EMAIL PROTECTED]
| https://lists.sourceforge.net/lists/listinfo/jboss-development
|
|--
|
|Peter Antman Technology in Media, Box 34105 100 26 Stockholm
|Systems ArchitectWWW: http://www.tim.se
|Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
|Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942
|
|
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|https://lists.sourceforge.net/lists/listinfo/jboss-development


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter AntmanChief Systems Architect, Business Development
Technology in Media, Box 34105 100 26 Stockholm
WWW: http://www.tim.se  WWW: http://www.backsource.org
Email: [EMAIL PROTECTED]
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-21 Thread Jason Dillon




By the way, these new tests are verry time consuming, they starts and
stops JBoss and use big iteration counts. My plan is to integrate is as
an entity ref in build.xml, to not litter that file to much, and not
make them run dring normal testing. Is that OK?

I am not sure what your changes include... so commit as enity-ref and if 
it is a problem or can be done in a better way we can deal with it then.

By the way, I need to get the information in the build where the JBoss
output build is. Is there any way to extract this information from
build/build.xml when running testsuite/build.xml (I mean, build magic
way of doing it)?

Currently no... because there is no telling if the local build.xml was 
used or if the build/build.xml was used.   I could probably write a bit 
of BM to fix this though (a task which would check if there is a 
../build/build.xml and parse it and import some properties).

Again we come back to time...

--jason



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-20 Thread marc fleury

|to have testcases that send up to 100 000 messages, sometimes taking up
|to an hour to complete...
|
|How about that?

impractical for the 'fast' test that make sure we don't mess up stuff when
we change something.

it seems, jason, that we need to use your wonderful buildmagic to get that
lenghty test out of there and just run it every night on the beluga machine
but take it out of the standard test.

marcf
|
|//Peter
|
| --jason
|
|
|
|
| ___
| Jboss-development mailing list
| [EMAIL PROTECTED]
| https://lists.sourceforge.net/lists/listinfo/jboss-development
|
|--
|
|Peter Antman Technology in Media, Box 34105 100 26 Stockholm
|Systems ArchitectWWW: http://www.tim.se
|Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
|Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942
|
|
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|https://lists.sourceforge.net/lists/listinfo/jboss-development


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-20 Thread pra

Hi, one reason it is taking so long is that it is testing all IL:s (I
thingk). If you do this move please split this test and run at least a
test on the OIL and preferably also the JVM IL, since these are the
defaults used by everyone.

//Peter

On 20 Feb, marc fleury wrote:
 |to have testcases that send up to 100 000 messages, sometimes taking up
 |to an hour to complete...
 |
 |How about that?
 
 impractical for the 'fast' test that make sure we don't mess up stuff when
 we change something.
 
 it seems, jason, that we need to use your wonderful buildmagic to get that
 lenghty test out of there and just run it every night on the beluga machine
 but take it out of the standard test.
 
 marcf
 |
 |//Peter
 |
 | --jason
 |
 |
 |
 |
 | ___
 | Jboss-development mailing list
 | [EMAIL PROTECTED]
 | https://lists.sourceforge.net/lists/listinfo/jboss-development
 |
 |--
 |
 |Peter Antman Technology in Media, Box 34105 100 26 Stockholm
 |Systems ArchitectWWW: http://www.tim.se
 |Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
 |Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942
 |
 |
 |
 |___
 |Jboss-development mailing list
 |[EMAIL PROTECTED]
 |https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-17 Thread pra

On 16 Feb, Jason Dillon wrote:
 Is there anything we can do to speed it up any?

Well, actually it is not slow enough ;-) since it does not catch all
bugs as it is setup today. To chatch current buggs in threading you have
to have testcases that send up to 100 000 messages, sometimes taking up
to an hour to complete...

How about that?

//Peter
 
 --jason
 
 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-17 Thread Jason Dillon

Yikes... that would not bee good.  Perhaps this test case should be
moved outside of tests-unit into a separate target which is depended on
by tests.

--jason


On Sun, 2002-02-17 at 07:22, [EMAIL PROTECTED] wrote:
 On 16 Feb, Jason Dillon wrote:
  Is there anything we can do to speed it up any?
 
 Well, actually it is not slow enough ;-) since it does not catch all
 bugs as it is setup today. To chatch current buggs in threading you have
 to have testcases that send up to 100 000 messages, sometimes taking up
 to an hour to complete...
 
 How about that?
 
 //Peter
  
  --jason
  
  
  
  
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 -- 
 
 Peter Antman Technology in Media, Box 34105 100 26 Stockholm
 Systems ArchitectWWW: http://www.tim.se
 Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
 Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 
 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBossMQ test case is soooo slooooow

2002-02-16 Thread Jason Dillon

Is there anything we can do to speed it up any?

--jason




___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq message transport times

2002-01-18 Thread Loren Rosen

* The test I'm running is using 'localhost' (at least, I think so-- it uses
the same infrastructure as the existing perf tests in the testsuite
module).

* It perhaps isn't surprising that MacOS X has TCPNODELAY defaulted to
false (and I bet MacOS Server doesn't). What had me puzzled was why that
would affect loopback tests. I might mention that earlier testing with
varying packet sizes did indeed show a stairstep response time with 200 ms
increases at each jump (in fact it wasn't just a random dart throw that
motived
my change to the TCPNODELAY).

* Even creating an empty message creates a packet with more than 200
bytes-- due to the overhead for the message id and so forth. On the other
hand, there is the application level acknowledgement packet, which is
indeed a tinygram.

* There is likely to be a bunch of work needed if we really want to support
high performance message traffic over high latency and/or low bandwidth
links. Changing the buffer sizes isn't the half of it.

Jeff Tulley wrote:

 Ok, I just got the run-down on buffer sizes and TCPNODELAY.

 The answer is, of course, IT DEPENDS.

 If what you are sending out always will be 100 or 200 bytes, the buffer
 size will not affect you very much - you were sending tiny-grams out
 before and will continue to do so even after setting TCPNODELAY.  The
 only difference is that before you were only sending a tiny-gram out
 every 200-400ms (good from a network traffic point of view, very BAD
 from a developer's point of view).  Then again, if these small messages
 are few and far between, I wouldn't sweat sending out the small packets
 at all.

 If you have a feel for typical MQ packet sizes you can come up with a
 better buffer size.  For instance, even if most messages are 2-4K, if
 you have occasional ones at 10K, then set your buffer to 10K.  The extra
 buffer is most likely worth the increase in efficiency. (Here again
 there is a fine line between efficiency and wasted, unused buffer
 space).

 Actually, further refinement:  The buffer size for TCP is 1460 bytes.
 So, try to set your buffer size to a multiple of this, so instead of 16K
 you would do 16 x 1460 = 23360 bytes.  That way you are maximizing the
 chance that all data out will completely fill up multiple packets
 instead of having a few full and then a partially empty packet every
 time.  I would not go much above this 16 multiplier unless all data sent
 is always way larger than that, but this is no hard rule of thumb.

 Complicated enough?  It definitely will be worth it to implement this.
 1000's of packets per second vs 5 packets per second(or as Loren saw,
 about 2.5 per second) is a HUGE deal.

 Jeff Tulley  ([EMAIL PROTECTED])
 (801)861-5322
 Novell, Inc., the leading provider of Net business solutions
 http://www.novell.com

  Hiram Chirino [EMAIL PROTECTED] 1/16/02 1:59:34 PM 
 So,

   Are you saying that if we do TCPNODELAY, just make sure we setup a
 BIG
 BufferedOutputStream and make sure we got our flush()es in the right
 places???  The question is: how BIG should the buffer be???

 Regards,
 Hiram

 From: Jeff Tulley [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: RE: [JBoss-dev] jbossmq message transport times
 Date: Wed, 16 Jan 2002 10:03:23 -0700
 
 Actually it is even a little more complicated than that.  Nagle's
 algorithm by itself would not cause such delays, but what happened is
 that at the other end somebody (I forget who) came up with the idea of
 a
 delayed ACK.  Since an ACK is a small packet, and one ACK can
 acknowledge receipt for multiple packets, the delayed ACK algorithm
 tries to send an ACK only every other packet.  This saves the wire
 from
 having too many tini-gram ACK packets.
 
 Combined with the Nagle algorithm, this causes death of communication
 since neither side will budge  Eventually the delayed ACK algorithm
 times out (typically 200 ms, depending on the OS), and the ACK is
 sent.
 So, you get down to about 5 packets per second throughput.
 
 There are two other algorithms, which modify NaglReceived: from
 INET-PRV-MTA by prv-mail20.provo.novell.com
wite's to get around this
 problem.  One, the Doupnik algorithm, uses information from the
 data
 to determine if there is more coming, and it sends the last bit
 immediately without waiting for the buffer to fill up.  So, you get
 full
 packets until the last one, which will be a tiny gram, but you do
 not
 get the 200 ms delay for every packet since the receiving end is
 continually getting information.  See
 http://netlab1.usu.edu/pub/misc/draft-doupnik-tcpimpl-nagle-mode-00.txt

 for information.
 
 The other algorithm is called the Minshall Algorithm.  I do not know
 a
 lot about it, but it is along the same lines.  See
 http://lists.w3.org/Archives/Public/ietf-discuss/1998Dec/0025.html
 for a discussion.
 
 The problem with setting TCPNODELAY is that it disables Nagle's
 altogether and you get the wire flooded with a lot of tiny packets.
 But, in the web space it is exactly

Re: [JBoss-dev] jbossmq message transport times

2002-01-18 Thread Loren Rosen

I made two changes which I'll describe here. I haven't yet investigated the
mechanics of submitting patches.

The changes are both in the org.jboss.mq.il.oil package. Note there are analogous
places in the other il subpackages that may also need changing-- my current test
evidently doesn't exercise the other code paths.

In OILServerIL, add a line to the createConnection method:

private void createConnection()
  throws Exception
   {
  socket = new Socket(addr, port);

   // add the next line
   socket.setTcpNoDelay(true);

  in = new ObjectInputStream(new
BufferedInputStream(socket.getInputStream()));
  out = new ObjectOutputStream(new
BufferedOutputStream(socket.getOutputStream()));
  out.flush();
   }

The same line gets added in OILServerILService

public void run()
   {
  try
  {
 while (running)
 {
Socket socket = null;
try
{
   socket = serverSocket.accept();
}
catch (java.io.InterruptedIOException e)
{
   continue;
}

// it's possible that the service is no longer
// running but it got a connection, no point in
// starting up a thread!
//
if (!running)
{
   if(socket != null)
   {
  try
  {
 socket.close();
  }
  catch(Exception e)
  {
 // do nothing
  }
   }
   return;
}

try
{
   socket.setSoTimeout(0);

   // add next line
socket.setTcpNoDelay(true);

   new Thread(new Client(socket), OIL Worker).start();
}
catch(IOException ie)
{
   if(log.isDebugEnabled())
   {
  log.debug(IOException processing client connection, ie);
  log.debug(Dropping client connection, server will not
terminate);
   }
}
 }
  }
  catch (SocketException e)
  {
 // There is no easy way (other than string comparison) to
 // determine if the socket exception is caused by connection
 // reset by peer. In this case, it's okay to ignore both
 // SocketException and IOException.
 log.warn(SocketException occured (Connection reset by peer?). Cannot
initialize the OILServerILService.);
  }
  catch (IOException e)
  {
 log.warn(IOException occured. Cannot initialize the
OILServerILService.);
  }
  finally
  {
 try
 {
serverSocket.close();
 }
 catch(Exception e)
 {
log.debug(error closing server socket, e);
 }
 return;
  }
   }


Christian Riege wrote:

 hi,

 On Wed, 2002-01-16 at 10:58, Sacha Labourey wrote:

  I guess that if you want to modify this, you need to make it optional.
 
  The TCPNODELAY flag is related to the Nagle's algorithm

 true.

  This algorithm is made to avoid sending very small paquets each time you
  send data through your socket [...]

 primarily useful for telnet/ssh style applications.

  I am not familiar with JBossMQ code base but if you think that the
  implementation could, at some time, send many small messages and would

 JBossMQ sends packets whenever a message needs to be delivered via the
 IL (except for the InVM layer but we can put that aside).

  suffer from sending each time a paquet, then you should most probably make
  this setting optional. But, on the opposite, if you think that your paquet
  (*all* paquets, even ACK) always have a sufficient size and don't want Nagle
  to take care of you,  then it is up to you.

 ... don't forget the new pinger thread which tries to ping the server
 every once in a while to ensure its still up and running.

 bottom line: TCP_NODELAY should be set to *enabled* whenever you're in a
 low latency / high bandwidth situation, i.e. LAN or something similiar.
 I guess this applies to at the very least 80% of the JBossMQ
 installations out there.

 I would disable TCP_NODELAY only when being in a very low bandwidth /
 high latency situation.

 Loren, can you pls. submit a patch via SourceForge (or send it to this
 list) and we'll get this integrated into the codebase.

 Regarding Mac OS/X in this situation: it could very well be that their
 default mode of operation is to have TCP_NODELAY disabled by default,
 even when running on the loopback device -- you ARE using 127.0.0.1
 after all, right?. On my Linux box this is a switch when configuring the
 kernel (at least it has been when I was still building my own kernels
 ... which hasn't happened since 2.0.something).

 Regards,
 Christian

 ___
 Jboss-development mailing list
 [EMAIL 

Re: [JBoss-dev] jbossmq message transport times

2002-01-18 Thread Scott M Stark

The TcpNoDelay flag should be a configurable attribute
exposed through the org.jboss.mq.il.oil.OILServerILServiceMBean.
Patches should be submitted through sourceforge as cvs diffs.


Scott Stark
Chief Technology Officer
JBoss Group, LLC


- Original Message -
From: Loren Rosen [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, January 18, 2002 1:58 PM
Subject: Re: [JBoss-dev] jbossmq message transport times


 I made two changes which I'll describe here. I haven't yet investigated
the
 mechanics of submitting patches.

 The changes are both in the org.jboss.mq.il.oil package. Note there are
analogous
 places in the other il subpackages that may also need changing-- my
current test
 evidently doesn't exercise the other code paths.

 In OILServerIL, add a line to the createConnection method:

 private void createConnection()
   throws Exception
{
   socket = new Socket(addr, port);

// add the next line
socket.setTcpNoDelay(true);




___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] jbossmq message transport times

2002-01-16 Thread Sacha Labourey

Hello,

I guess that if you want to modify this, you need to make it optional.

The TCPNODELAY flag is related to the Nagle's algorithm

This algorithm is made to avoid sending very small paquets each time you
send data through your socket but instead wait 400ms (generally) or a full
buffer (or a message from the other side if I remember well) and send a
paquet that wrap more data. Thus, it tends to minimize the amount of small
data that are sent.

I am not familiar with JBossMQ code base but if you think that the
implementation could, at some time, send many small messages and would
suffer from sending each time a paquet, then you should most probably make
this setting optional. But, on the opposite, if you think that your paquet
(*all* paquets, even ACK) always have a sufficient size and don't want Nagle
to take care of you,  then it is up to you.

Cheers,


Sacha

 -Message d'origine-
 De : [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]De la part de
 Hiram Chirino
 Envoyé : mercredi, 16 janvier 2002 04:17
 À : [EMAIL PROTECTED]; [EMAIL PROTECTED]
 Objet : Re: [JBoss-dev] jbossmq message transport times



 I can't think of a reason that it would break anything...


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq message transport times

2002-01-16 Thread Lennart Petersson

Den 2002-01-16 02:37:12 skrev Loren Rosen [EMAIL PROTECTED]:

I'm
testing on MacOS X, which for our purposes is just another Unix flavor
with an oddball GUI.

Hi hi hi I'm waiting for my PB TI to arrive... really longing for Unix with an 
oddball GUI :)

/Lennart



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] jbossmq message transport times

2002-01-16 Thread Christian Riege

hi,

On Wed, 2002-01-16 at 10:58, Sacha Labourey wrote:

 I guess that if you want to modify this, you need to make it optional.
 
 The TCPNODELAY flag is related to the Nagle's algorithm

true.

 This algorithm is made to avoid sending very small paquets each time you
 send data through your socket [...]

primarily useful for telnet/ssh style applications.

 I am not familiar with JBossMQ code base but if you think that the
 implementation could, at some time, send many small messages and would

JBossMQ sends packets whenever a message needs to be delivered via the
IL (except for the InVM layer but we can put that aside).

 suffer from sending each time a paquet, then you should most probably make
 this setting optional. But, on the opposite, if you think that your paquet
 (*all* paquets, even ACK) always have a sufficient size and don't want Nagle
 to take care of you,  then it is up to you.

... don't forget the new pinger thread which tries to ping the server
every once in a while to ensure its still up and running.

bottom line: TCP_NODELAY should be set to *enabled* whenever you're in a
low latency / high bandwidth situation, i.e. LAN or something similiar.
I guess this applies to at the very least 80% of the JBossMQ
installations out there.

I would disable TCP_NODELAY only when being in a very low bandwidth /
high latency situation.

Loren, can you pls. submit a patch via SourceForge (or send it to this
list) and we'll get this integrated into the codebase.

Regarding Mac OS/X in this situation: it could very well be that their
default mode of operation is to have TCP_NODELAY disabled by default,
even when running on the loopback device -- you ARE using 127.0.0.1
after all, right?. On my Linux box this is a switch when configuring the
kernel (at least it has been when I was still building my own kernels
... which hasn't happened since 2.0.something).

Regards,
Christian



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] jbossmq message transport times

2002-01-16 Thread Jeff Tulley

Actually it is even a little more complicated than that.  Nagle's
algorithm by itself would not cause such delays, but what happened is
that at the other end somebody (I forget who) came up with the idea of a
delayed ACK.  Since an ACK is a small packet, and one ACK can
acknowledge receipt for multiple packets, the delayed ACK algorithm
tries to send an ACK only every other packet.  This saves the wire from
having too many tini-gram ACK packets.

Combined with the Nagle algorithm, this causes death of communication
since neither side will budge  Eventually the delayed ACK algorithm
times out (typically 200 ms, depending on the OS), and the ACK is sent. 
So, you get down to about 5 packets per second throughput.

There are two other algorithms, which modify NaglReceived: from INET-PRV-MTA by 
prv-mail20.provo.novell.com
wite's to get around this
problem.  One, the Doupnik algorithm, uses information from the data
to determine if there is more coming, and it sends the last bit
immediately without waiting for the buffer to fill up.  So, you get full
packets until the last one, which will be a tiny gram, but you do not
get the 200 ms delay for every packet since the receiving end is
continually getting information.  See
http://netlab1.usu.edu/pub/misc/draft-doupnik-tcpimpl-nagle-mode-00.txt
   for information.

The other algorithm is called the Minshall Algorithm.  I do not know a
lot about it, but it is along the same lines.  See
http://lists.w3.org/Archives/Public/ietf-discuss/1998Dec/0025.html 
for a discussion.

The problem with setting TCPNODELAY is that it disables Nagle's
altogether and you get the wire flooded with a lot of tiny packets. 
But, in the web space it is exactly these tiny packets which trigger the
problem, and otherwise you lose throughput.  The best solution, lacking
the ability to change your OS TCP stack, is to turn Nagle's off (with
the TCPNODELAY), and then use a bigger buffer for your data.  Then you
are using the wire more efficiently in that you are not flooding it with
tiny-grams.

I wouldn't know all of this except the coworker in the office next to
me took a class from Doupnik himself, and has recently just finished
working with NetWare's TCP engineers to implement the Doupnik algorithm.
 He found that most programs he dealt with in testing for the problem
turned off Nagle's algorithm for efficiency.  Some OS's have this fix in
them, some do not.  (Most do not???)

If we turn off Nagles algorithm in that code, we defintely need to look
at the buffer size if we want the most efficient data transfer.

Jeff Tulley  ([EMAIL PROTECTED])
(801)861-5322
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com


 Sacha Labourey [EMAIL PROTECTED] 1/16/02 2:58:30 AM

Hello,

I guess that if you want to modify this, you need to make it optional.

The TCPNODELAY flag is related to the Nagle's algorithm

This algorithm is made to avoid sending very small paquets each time
you
send data through your socket but instead wait 400ms (generally) or a
full
buffer (or a message from the other side if I remember well) and send
a
paquet that wrap more data. Thus, it tends to minimize the amount of
small
data that are sent.

I am not familiar with JBossMQ code base but if you think that the
implementation could, at some time, send many small messages and would
suffer from sending each time a paquet, then you should most probably
make
this setting optional. But, on the opposite, if you think that your
paquet
(*all* paquets, even ACK) always have a sufficient size and don't want
Nagle
to take care of you,  then it is up to you.

Cheers,


Sacha

 -Message d'origine-
 De : [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED]]De la part de
 Hiram Chirino
 Envoyé : mercredi, 16 janvier 2002 04:17
 À : [EMAIL PROTECTED]; [EMAIL PROTECTED] 
 Objet : Re: [JBoss-dev] jbossmq message transpo
rt times



 I can't think of a reason that it would break anything...


___
Jboss-development mailing list
[EMAIL PROTECTED] 
https://lists.sourceforge.net/lists/listinfo/jboss-development

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] jbossmq message transport times

2002-01-16 Thread Hiram Chirino

So,

  Are you saying that if we do TCPNODELAY, just make sure we setup a BIG 
BufferedOutputStream and make sure we got our flush()es in the right 
places???  The question is: how BIG should the buffer be???

Regards,
Hiram

From: Jeff Tulley [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] jbossmq message transport times
Date: Wed, 16 Jan 2002 10:03:23 -0700

Actually it is even a little more complicated than that.  Nagle's
algorithm by itself would not cause such delays, but what happened is
that at the other end somebody (I forget who) came up with the idea of a
delayed ACK.  Since an ACK is a small packet, and one ACK can
acknowledge receipt for multiple packets, the delayed ACK algorithm
tries to send an ACK only every other packet.  This saves the wire from
having too many tini-gram ACK packets.

Combined with the Nagle algorithm, this causes death of communication
since neither side will budge  Eventually the delayed ACK algorithm
times out (typically 200 ms, depending on the OS), and the ACK is sent.
So, you get down to about 5 packets per second throughput.

There are two other algorithms, which modify NaglReceived: from 
INET-PRV-MTA by prv-mail20.provo.novell.com
   wite's to get around this
problem.  One, the Doupnik algorithm, uses information from the data
to determine if there is more coming, and it sends the last bit
immediately without waiting for the buffer to fill up.  So, you get full
packets until the last one, which will be a tiny gram, but you do not
get the 200 ms delay for every packet since the receiving end is
continually getting information.  See
http://netlab1.usu.edu/pub/misc/draft-doupnik-tcpimpl-nagle-mode-00.txt
for information.

The other algorithm is called the Minshall Algorithm.  I do not know a
lot about it, but it is along the same lines.  See
http://lists.w3.org/Archives/Public/ietf-discuss/1998Dec/0025.html
for a discussion.

The problem with setting TCPNODELAY is that it disables Nagle's
altogether and you get the wire flooded with a lot of tiny packets.
But, in the web space it is exactly these tiny packets which trigger the
problem, and otherwise you lose throughput.  The best solution, lacking
the ability to change your OS TCP stack, is to turn Nagle's off (with
the TCPNODELAY), and then use a bigger buffer for your data.  Then you
are using the wire more efficiently in that you are not flooding it with
tiny-grams.

I wouldn't know all of this except the coworker in the office next to
me took a class from Doupnik himself, and has recently just finished
working with NetWare's TCP engineers to implement the Doupnik algorithm.
  He found that most programs he dealt with in testing for the problem
turned off Nagle's algorithm for efficiency.  Some OS's have this fix in
them, some do not.  (Most do not???)

If we turn off Nagles algorithm in that code, we defintely need to look
at the buffer size if we want the most efficient data transfer.

Jeff Tulley  ([EMAIL PROTECTED])
(801)861-5322
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com


  Sacha Labourey [EMAIL PROTECTED] 1/16/02 2:58:30 AM
 
Hello,

I guess that if you want to modify this, you need to make it optional.

The TCPNODELAY flag is related to the Nagle's algorithm

This algorithm is made to avoid sending very small paquets each time
you
send data through your socket but instead wait 400ms (generally) or a
full
buffer (or a message from the other side if I remember well) and send
a
paquet that wrap more data. Thus, it tends to minimize the amount of
small
data that are sent.

I am not familiar with JBossMQ code base but if you think that the
implementation could, at some time, send many small messages and would
suffer from sending each time a paquet, then you should most probably
make
this setting optional. But, on the opposite, if you think that your
paquet
(*all* paquets, even ACK) always have a sufficient size and don't want
Nagle
to take care of you,  then it is up to you.

Cheers,


   Sacha

  -Message d'origine-
  De : [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]De la part de
  Hiram Chirino
  Envoyé : mercredi, 16 janvier 2002 04:17
  À : [EMAIL PROTECTED]; [EMAIL PROTECTED]
  Objet : Re: [JBoss-dev] jbossmq message transpo
rt times
 
 
 
  I can't think of a reason that it would break anything...


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo

RE: [JBoss-dev] jbossmq message transport times

2002-01-16 Thread Jeff Tulley

Ok, I just got the run-down on buffer sizes and TCPNODELAY.

The answer is, of course, IT DEPENDS.

If what you are sending out always will be 100 or 200 bytes, the buffer
size will not affect you very much - you were sending tiny-grams out
before and will continue to do so even after setting TCPNODELAY.  The
only difference is that before you were only sending a tiny-gram out
every 200-400ms (good from a network traffic point of view, very BAD
from a developer's point of view).  Then again, if these small messages
are few and far between, I wouldn't sweat sending out the small packets
at all.

If you have a feel for typical MQ packet sizes you can come up with a
better buffer size.  For instance, even if most messages are 2-4K, if
you have occasional ones at 10K, then set your buffer to 10K.  The extra
buffer is most likely worth the increase in efficiency. (Here again
there is a fine line between efficiency and wasted, unused buffer
space).

Actually, further refinement:  The buffer size for TCP is 1460 bytes. 
So, try to set your buffer size to a multiple of this, so instead of 16K
you would do 16 x 1460 = 23360 bytes.  That way you are maximizing the
chance that all data out will completely fill up multiple packets
instead of having a few full and then a partially empty packet every
time.  I would not go much above this 16 multiplier unless all data sent
is always way larger than that, but this is no hard rule of thumb.

Complicated enough?  It definitely will be worth it to implement this. 
1000's of packets per second vs 5 packets per second(or as Loren saw,
about 2.5 per second) is a HUGE deal.

Jeff Tulley  ([EMAIL PROTECTED])
(801)861-5322
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com

 Hiram Chirino [EMAIL PROTECTED] 1/16/02 1:59:34 PM 
So,

  Are you saying that if we do TCPNODELAY, just make sure we setup a
BIG 
BufferedOutputStream and make sure we got our flush()es in the right 
places???  The question is: how BIG should the buffer be???

Regards,
Hiram

From: Jeff Tulley [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] jbossmq message transport times
Date: Wed, 16 Jan 2002 10:03:23 -0700

Actually it is even a little more complicated than that.  Nagle's
algorithm by itself would not cause such delays, but what happened is
that at the other end somebody (I forget who) came up with the idea of
a
delayed ACK.  Since an ACK is a small packet, and one ACK can
acknowledge receipt for multiple packets, the delayed ACK algorithm
tries to send an ACK only every other packet.  This saves the wire
from
having too many tini-gram ACK packets.

Combined with the Nagle algorithm, this causes death of communication
since neither side will budge  Eventually the delayed ACK algorithm
times out (typically 200 ms, depending on the OS), and the ACK is
sent.
So, you get down to about 5 packets per second throughput.

There are two other algorithms, which modify NaglReceived: from 
INET-PRV-MTA by prv-mail20.provo.novell.com
   wite's to get around this
problem.  One, the Doupnik algorithm, uses information from the
data
to determine if there is more coming, and it sends the last bit
immediately without waiting for the buffer to fill up.  So, you get
full
packets until the last one, which will be a tiny gram, but you do
not
get the 200 ms delay for every packet since the receiving end is
continually getting information.  See
http://netlab1.usu.edu/pub/misc/draft-doupnik-tcpimpl-nagle-mode-00.txt

for information.

The other algorithm is called the Minshall Algorithm.  I do not know
a
lot about it, but it is along the same lines.  See
http://lists.w3.org/Archives/Public/ietf-discuss/1998Dec/0025.html 
for a discussion.

The problem with setting TCPNODELAY is that it disables Nagle's
altogether and you get the wire flooded with a lot of tiny packets.
But, in the web space it is exactly these tiny packets which trigger
the
problem, and otherwise you lose throughput.  The best solution,
lacking
the ability to change your OS TCP stack, is to turn Nagle's off (with
the TCPNODELAY), and then use a bigger buffer for your data.  Then
you
are using the wire more efficiently in that you are not flooding it
with
tiny-grams.

I wouldn't know all of this except the coworker in the office next to
me took a class from Doupnik himself, and has recently just finished
working with NetWare's TCP engineers to implement the Doupnik
algorithm.
  He found that most programs he dealt with in testing for the
problem
turned off Nagle's algorithm for efficiency.  Some OS's have this fix
in
them, some do not.  (Most do not???)

If we turn off Nagles algorithm in that code, we defintely need to
look
at the buffer size if we want the most efficient data transfer.

Jeff Tulley  ([EMAIL PROTECTED])
(801)861-5322
Novell, Inc., the leading provider of Net business solutions
http://www.novell.com 


  Sacha Labourey [EMAIL PROTECTED] 1/16/02 2:58:30
AM
 
Hello,

I guess that if you want

[JBoss-dev] jbossmq message transport times

2002-01-15 Thread Loren Rosen

As a start on measuring jbossmq performance, I timed sending and
receiving a 1-kbyte nondurable mesage (in a loop to amortize JIT effects
and the like).  Both client and server were on the same machine. The
average round trip time was 400 miliseconds, which is not good at all.

Some investigation showed that most of the time was spent idling in the
message transport code. I tried a few things and eventually discovered
that explicitly setting TCPNODELAY on the sockets fixed the problem--
round trip times dropped down to a few tens of milliseconds.

I can certainly submit a patch with the one-line change, but before I
do-- is this really the right fix? Will it make something else worse? If
no one else has seen the same problem, perhaps it's O/S specific. I'm
testing on MacOS X, which for our purposes is just another Unix flavor
with an oddball GUI.


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] jbossmq startup... do we really need ALL these queues by default?

2001-12-07 Thread marc fleury

yo,

Half the log is with the mq stuff doing queues from A-Z do we *really* need all of 
these, just cosmetics but still...


__
View: http://jboss.org/forums/thread.jsp?forum=66thread=5182

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq startup... do we really need ALL these queuesby default?

2001-12-07 Thread Jason Dillon

Probably not for the default config... some are used for the testsuite, but 

I think we should probably setup a 'testsuite' config, which is used to run 
the testsuite against.  Downside to this is we may miss configuration errors 
in the 'default' config.

Does the remote queue/topic install work?  Could use that to setup the 
queues/topics required for the tests.

--jason

 Half the log is with the mq stuff doing queues from A-Z do we *really* need all of 
these, just cosmetics but still...


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread Jason Dillon

 I'll look through the code more closely. But recovery is testable. What
 you have to do is create some corrupt data files (probably by using a
 byte-level editor to munge some existing data files). Then you need
 some scripts to start up the server with those files -- which doesn't
 fit so well with a pure-Java Junit-based test suite. (You could also
 create the files by making versions of the server which quit at
 various awkward places.) What this won't test so easily is recovery
 from failures during recovery.

How about using JUnit to corrupt some files, then startup the component 
which reads those files and test that is throws the proper exceptions?

--jason


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread Hiram Chirino


Corrupting the files is not exactly what we are looking for.  If you have 
currupted data files, you need will need to restore you data from backup.  
What we want to test is:

(1) that we are correctly flushing out our output to disk when we commit a 
transaction.  All message are FULLY written to disk by the time the commit 
is issued.
(2) that we do not attempt to recover messages from transaction that did not 
commit.
(3) that we can deal with garbage at the end of out transaction logs.

So would adding garbage at the end of a message log files or adding garbage 
message files simulate(2,3)??
Would HARD Killing the server after a commit test (2)??? How would we 
implement the HARD kill (JNI)??

Any other tests/ideas??

Regards,
Hiram


From: Jason Dillon [EMAIL PROTECTED]
To: Loren Rosen [EMAIL PROTECTED]
CC: Hiram Chirino [EMAIL PROTECTED],   
[EMAIL PROTECTED]
Subject: Re: [JBoss-dev] jbossmq: persistence implementation questions
Date: Thu, 15 Nov 2001 15:07:23 -0800 (PST)

  I'll look through the code more closely. But recovery is testable. What
  you have to do is create some corrupt data files (probably by using a
  byte-level editor to munge some existing data files). Then you need
  some scripts to start up the server with those files -- which doesn't
  fit so well with a pure-Java Junit-based test suite. (You could also
  create the files by making versions of the server which quit at
  various awkward places.) What this won't test so easily is recovery
  from failures during recovery.

How about using JUnit to corrupt some files, then startup the component
which reads those files and test that is throws the proper exceptions?

--jason



_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread David Jencks

In jboss 3, you __should__ be able to start and stop jbossmq dynamically
while the rest of the server is running.  We are not very far from being
able to run several JBossMQService mbeans at once-- this could allow you to
test one pm at a time without messing up the standard jbossmq setup.

I think stopping works less well than starting at the moment.

You should be able to do this by deploying/undeploying a file like
jbossmq-service.xml.  There are lots of examples in the testsuite using the
JBossTestCase and JBossTestSetup classes: especially the jmx tests.
(these don't all pass at the moment, but do show how to deploy/undeploy
service files).

david jencks

On 2001.11.15 17:27:44 -0500 Loren Rosen wrote:
 
 
 Hiram Chirino wrote:
 
  Hi Loren!
 
  From: Loren Rosen [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  [EMAIL PROTECTED]
  Subject: [JBoss-dev] jbossmq: persistance implementation questions
  Date: Mon, 12 Nov 2001 20:22:27 -0800
  
 
 
  * Performance tuning/scalability: has any work been done to address
  potential bottlenecks for high message throughput, large numbers of
  queues or topics, etc.?
  
 
  Work has gone into making reading/writing from storage more efficient. 
 I
  don't think we have profiled the system enough yet to find out where
 the
  bottle necks are.
 
 A good first step would be to measure the single producer/consumer
 latency,
 and tune that. Low latency is a important goal in its own right, and
 moreover
 if the CPU overhead is too high you won't even be able to keep the disk
 busy writing messages. I can go ahead and do this.
 
 
 
  * recovery robustness: recovery is a tricky thing since there's so
 many
  possible ways things can fail. What's been done to think
  about/test-for/defend-against all the possibilities?
  
 
  Basic recovery test have been succeeding.  It's hard to automate
 failure
  testing.  More code review would be good in this area to see if we are
  missing anything.
 
 I'll look through the code more closely. But recovery is testable. What
 you have to do is create some corrupt data files (probably by using a
 byte-level editor to munge some existing data files). Then you need
 some scripts to start up the server with those files -- which doesn't
 fit so well with a pure-Java Junit-based test suite. (You could also
 create the files by making versions of the server which quit at
 various awkward places.) What this won't test so easily is recovery
 from failures during recovery.
 
  Regards,
  Hiram
 
  _
  Get your FREE download of MSN Explorer at
 http://explorer.msn.com/intl.asp
 
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 _
 Do You Yahoo!?
 Get your free @yahoo.com address at http://mail.yahoo.com
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread Jeff Tulley

Use mock objects.  www.mockobjects.com   To use the automated mock object creator may 
require modifying the code a little (creating some more interfaces), but you can 
simply use the concept.  It is the only great way to test complicated failure cases, 
especially when there is a complicated state that has to be established.

The idea is to have an object that you can tell it what state to be in - for 
instance, to fail whenever you call a certain routine, etc, and what kind of failure.  
It implements the same interface as the real object, so that you can use it 
interchangeably.

There are some other concepts with mockobjects also, such as input or call validation 
- the object can keep track of how it was called and with what parameters and in what 
order.  This can all be validated against your expectations.  the mock objects people 
call it endotesting because you are testing from the inside, but without tainting 
your actual code with any knowledge of the testing framework.   (Besides the need to 
create an interface based on the object, which is a sometimes a good thing anyway, 
though it does add one more file to maintain).

Pretty good stuff...

Jeff Tulley  ([EMAIL PROTECTED])
(801)861-5322
Novell, Inc., the leading provider of Net services software.

 Loren Rosen [EMAIL PROTECTED] 11/15/01 3:27:44 PM 


Hiram Chirino wrote:

 Hi Loren!

 From: Loren Rosen [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 Subject: [JBoss-dev] jbossmq: persistance implementation questions
 Date: Mon, 12 Nov 2001 20:22:27 -0800
 


 * Performance tuning/scalability: has any work been done to address
 potential bottlenecks for high message throughput, large numbers of
 queues or topics, etc.?
 

 Work has gone into making reading/writing from storage more efficient.  I
 don't think we have profiled the system enough yet to find out where the
 bottle necks are.

A good first step would be to measure the single producer/consumer latency,
and tune that. Low latency is a important goal in its own right, and moreover
if the CPU overhead is too high you won't even be able to keep the disk
busy writing messages. I can go ahead and do this.



 * recovery robustness: recovery is a tricky thing since there's so many
 possible ways things can fail. What's been done to think
 about/test-for/defend-against all the possibilities?
 

 Basic recovery test have been succeeding.  It's hard to automate failure
 testing.  More code review would be good in this area to see if we are
 missing anything.

I'll look through the code more closely. But recovery is testable. What
you have to do is create some corrupt data files (probably by using a
byte-level editor to munge some existing data files). Then you need
some scripts to start up the server with those files -- which doesn't
fit so well with a pure-Java Junit-based test suite. (You could also
create the files by making versions of the server which quit at
various awkward places.) What this won't test so easily is recovery
from failures during recovery.

 Regards,
 Hiram

 _
 Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp 

 ___
 Jboss-development mailing list
 [EMAIL PROTECTED] 
 https://lists.sourceforge.net/lists/listinfo/jboss-development 



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com 


___
Jboss-development mailing list
[EMAIL PROTECTED] 
https://lists.sourceforge.net/lists/listinfo/jboss-development


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread Jason Dillon

I was only really suggesting that rather than test the entire JBoss server 
instance with a JBoss service, to focus on the individual component which 
performs this functionality.

Assuming that the component can be started up from inside JUnit, then we can 
setup any given environment and given it a whirl.  The same could be done by 
testing the entire server, but it would be more complicated and would not 
tell you that the given component will pass or fail the test (another 
component could be causing the component to fail... which is useful to know 
too).

In this case, you could setup a log which might have 3 valid and then 
invalid garbage.  JUnit could setup a log file which looked like this, then 
startup the component with that generated file and see if it performs as 
desired.

Todo the same would mean knowing more about how the server starts up, its 
config and such to doctor up the environment to make the test work.

Anyways, I am no QA/Unit Test expert... though work has kinda given me that 
hat to put on now (those bastards), so this is mostly specilation on my 
part.

From last I played with jboss/testsuite (a while ago), most tests were run 
from JUnit by deploying something into a running server, pounding on it and 
then undeploying the app.  I think this is good for many tests, there are 
some tests where we might want to avoid the deploy/rmi-exec/undeploy bits 
and simply execute the code directly.  This would test the functionality of 
that code with out any additional factorys from the deploy/rmi/undeploy.

In the case of JMS internals I think this is a great place to start.  Could 
be that is what you are doing already... I would have to look at the 
testsuite again to become more familar with it.

 (1) that we are correctly flushing out our output to disk when we commit a 
 transaction.  All message are FULLY written to disk by the time the commit 
 is issued.

Probably the only way to ensure this would be to sync the FileDescriptor, 
then re-read the log.  Assuming that FileDescriptor.sync() will actually 
sync correctly or throw an exception, once you pass this method you are 
assured that the data written has actually flushed... more or less.  Could 
be that the fs was really a ramdrive, or a raid-cache with no battery 
backup, but there is nothing you can do about that.

Once you write one, sync.  You can re-read the log and expect to have 
exactly one log, which will have the expected attributes and such.  Anything 
else is a problem.

 (2) that we do not attempt to recover messages from transaction that did not 
 commit.

If the tx did not commit would it have been sync'd to disk?  Not really sure 
how all that XA fluff works, so I have no clue how to test that.

 (3) that we can deal with garbage at the end of out transaction logs.

Re-reading the tx log after a set of pre-descripted events should provide 
coverage of most of the problems.

 Would HARD Killing the server after a commit test (2)??? How would we 
 implement the HARD kill (JNI)??

I have no clue as to the best way to test a total VM failure.  Sure a JNI 
could call exit(), but then you would have to have some external process 
monitoring the test, and then some way to start up a new vm and communicate 
with it.

Perhaps we need a bit of JUnit framework to do this?  This could be used to 
do the end-to-end testing, where the testing vm would start up the JBoss vm 
(or more than one for distributed tests) and the could kill them as needed.

Then you could setup any given environemnt, perhaps it was a standalone 
JBoss, or perhaps it was a specialed TestCase or TestSuite, which is rather 
volitle.

Does such a JUnit modification/integration suite exist?

--jason


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread Scott M Stark

Right, deep testing of service internals does not really belong in the
current jbosstest unit tests. Those are for testing client oriented
interaction with the server. Each module should have its own unit
tests for internal testing. Transaction failure semantics and recovery
is getting to in between ground. You could do as Jeff suggested and
make use of mock objects to deploy different version of the mq
and other JBoss services to isolate the testing in either unit testsuite.

- Original Message -
From: Jason Dillon [EMAIL PROTECTED]
To: Hiram Chirino [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Thursday, November 15, 2001 4:29 PM
Subject: Re: [JBoss-dev] jbossmq: persistence implementation questions


 I was only really suggesting that rather than test the entire JBoss server
 instance with a JBoss service, to focus on the individual component which
 performs this functionality.

 Assuming that the component can be started up from inside JUnit, then we
can
 setup any given environment and given it a whirl.  The same could be done
by
 testing the entire server, but it would be more complicated and would not
 tell you that the given component will pass or fail the test (another
 component could be causing the component to fail... which is useful to
know
 too).

 In this case, you could setup a log which might have 3 valid and then
 invalid garbage.  JUnit could setup a log file which looked like this,
then
 startup the component with that generated file and see if it performs as
 desired.

 Todo the same would mean knowing more about how the server starts up, its
 config and such to doctor up the environment to make the test work.

 Anyways, I am no QA/Unit Test expert... though work has kinda given me
that
 hat to put on now (those bastards), so this is mostly specilation on my
 part.

 From last I played with jboss/testsuite (a while ago), most tests were run
 from JUnit by deploying something into a running server, pounding on it
and
 then undeploying the app.  I think this is good for many tests, there are
 some tests where we might want to avoid the deploy/rmi-exec/undeploy bits
 and simply execute the code directly.  This would test the functionality
of
 that code with out any additional factorys from the deploy/rmi/undeploy.

 In the case of JMS internals I think this is a great place to start.
Could
 be that is what you are doing already... I would have to look at the
 testsuite again to become more familar with it.

  (1) that we are correctly flushing out our output to disk when we commit
a
  transaction.  All message are FULLY written to disk by the time the
commit
  is issued.

 Probably the only way to ensure this would be to sync the FileDescriptor,
 then re-read the log.  Assuming that FileDescriptor.sync() will actually
 sync correctly or throw an exception, once you pass this method you are
 assured that the data written has actually flushed... more or less.  Could
 be that the fs was really a ramdrive, or a raid-cache with no battery
 backup, but there is nothing you can do about that.

 Once you write one, sync.  You can re-read the log and expect to have
 exactly one log, which will have the expected attributes and such.
Anything
 else is a problem.

  (2) that we do not attempt to recover messages from transaction that did
not
  commit.

 If the tx did not commit would it have been sync'd to disk?  Not really
sure
 how all that XA fluff works, so I have no clue how to test that.

  (3) that we can deal with garbage at the end of out transaction logs.

 Re-reading the tx log after a set of pre-descripted events should provide
 coverage of most of the problems.

  Would HARD Killing the server after a commit test (2)??? How would we
  implement the HARD kill (JNI)??

 I have no clue as to the best way to test a total VM failure.  Sure a JNI
 could call exit(), but then you would have to have some external process
 monitoring the test, and then some way to start up a new vm and
communicate
 with it.

 Perhaps we need a bit of JUnit framework to do this?  This could be used
to
 do the end-to-end testing, where the testing vm would start up the JBoss
vm
 (or more than one for distributed tests) and the could kill them as
needed.

 Then you could setup any given environemnt, perhaps it was a standalone
 JBoss, or perhaps it was a specialed TestCase or TestSuite, which is
rather
 volitle.

 Does such a JUnit modification/integration suite exist?

 --jason


 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-15 Thread Jason Dillon

Can mockobjects be integrated with JUnit?

--jason


On Thu, 15 Nov 2001, Jeff Tulley wrote:

 Use mock objects.  www.mockobjects.com   To use the automated mock object creator 
may require modifying the code a little (creating some more interfaces), but you can 
simply use the concept.  It is the only great way to test complicated failure cases, 
especially when there is a complicated state that has to be established.
 
 The idea is to have an object that you can tell it what state to be in - for 
instance, to fail whenever you call a certain routine, etc, and what kind of failure. 
 It implements the same interface as the real object, so that you can use it 
interchangeably.
 
 There are some other concepts with mockobjects also, such as input or call 
validation - the object can keep track of how it was called and with what parameters 
and in what order.  This can all be validated against your expectations.  the mock 
objects people call it endotesting because you are testing from the inside, but 
without tainting your actual code with any knowledge of the testing framework.   
(Besides the need to create an interface based on the object, which is a sometimes a 
good thing anyway, though it does add one more file to maintain).
 
 Pretty good stuff...
 
 Jeff Tulley  ([EMAIL PROTECTED])
 (801)861-5322
 Novell, Inc., the leading provider of Net services software.
 
  Loren Rosen [EMAIL PROTECTED] 11/15/01 3:27:44 PM 
 
 
 Hiram Chirino wrote:
 
  Hi Loren!
 
  From: Loren Rosen [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  [EMAIL PROTECTED]
  Subject: [JBoss-dev] jbossmq: persistance implementation questions
  Date: Mon, 12 Nov 2001 20:22:27 -0800
  
 
 
  * Performance tuning/scalability: has any work been done to address
  potential bottlenecks for high message throughput, large numbers of
  queues or topics, etc.?
  
 
  Work has gone into making reading/writing from storage more efficient.  I
  don't think we have profiled the system enough yet to find out where the
  bottle necks are.
 
 A good first step would be to measure the single producer/consumer latency,
 and tune that. Low latency is a important goal in its own right, and moreover
 if the CPU overhead is too high you won't even be able to keep the disk
 busy writing messages. I can go ahead and do this.
 
 
 
  * recovery robustness: recovery is a tricky thing since there's so many
  possible ways things can fail. What's been done to think
  about/test-for/defend-against all the possibilities?
  
 
  Basic recovery test have been succeeding.  It's hard to automate failure
  testing.  More code review would be good in this area to see if we are
  missing anything.
 
 I'll look through the code more closely. But recovery is testable. What
 you have to do is create some corrupt data files (probably by using a
 byte-level editor to munge some existing data files). Then you need
 some scripts to start up the server with those files -- which doesn't
 fit so well with a pure-Java Junit-based test suite. (You could also
 create the files by making versions of the server which quit at
 various awkward places.) What this won't test so easily is recovery
 from failures during recovery.
 
  Regards,
  Hiram
 
  _
  Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp 
 
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED] 
  https://lists.sourceforge.net/lists/listinfo/jboss-development 
 
 
 
 _
 Do You Yahoo!?
 Get your free @yahoo.com address at http://mail.yahoo.com 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED] 
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] jbossmq: persistance implementation questions

2001-11-12 Thread Loren Rosen

I've been looking a bit at the jboss mq persistance code, and I have
some questions. I'll state some of them from a user perspective, but my
motivation is as a developer; that is, to address some of the 'problems'
or 'limitations' these questions may uncover.

* Different DBMS system support: I realize the current schema is pretty
simple, but nevertheless I think it's inevitible that you're going to
want tweaks for different database servers, for performance reasons if
nothing else.

* Performance tuning/scalability: has any work been done to address
potential bottlenecks for high message throughput, large numbers of
queues or topics, etc.?

* recovery robustness: recovery is a tricky thing since there's so many
possible ways things can fail. What's been done to think
about/test-for/defend-against all the possibilities?

* two-phase commit: Is two-phase commit (XA) supported? I didn't see
anything explicitly in the code, but pehaps I haven't yet read it
carefully enough.

* architecture: I haven't thought deeply about the trade-offs, but at
first look it seems odd to create a transaction log table in a rdms,
given that they can do the logging for you behind the scenes.



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-12 Thread Hiram Chirino


Hi Loren!

From: Loren Rosen [EMAIL PROTECTED]
To: [EMAIL PROTECTED] 
[EMAIL PROTECTED]
Subject: [JBoss-dev] jbossmq: persistance implementation questions
Date: Mon, 12 Nov 2001 20:22:27 -0800

I've been looking a bit at the jboss mq persistence code, and I have
some questions. I'll state some of them from a user perspective, but my
motivation is as a developer; that is, to address some of the 'problems'
or 'limitations' these questions may uncover.

* Different DBMS system support: I realize the current schema is pretty
simple, but nevertheless I think it's inevitable that you're going to
want tweaks for different database servers, for performance reasons if
nothing else.


I guess will will make the code more abstract as we start supporting more 
databases.  If a DBMS is different enough from the basic implementation, we 
could always create a new Persistence Manager just for that case.

* Performance tuning/scalability: has any work been done to address
potential bottlenecks for high message throughput, large numbers of
queues or topics, etc.?


Work has gone into making reading/writing from storage more efficient.  I 
don't think we have profiled the system enough yet to find out where the 
bottle necks are.

* recovery robustness: recovery is a tricky thing since there's so many
possible ways things can fail. What's been done to think
about/test-for/defend-against all the possibilities?


Basic recovery test have been succeeding.  It's hard to automate failure 
testing.  More code review would be good in this area to see if we are 
missing anything.

* two-phase commit: Is two-phase commit (XA) supported? I didn't see
anything explicitly in the code, but pehaps I haven't yet read it
carefully enough.


We do have some basic support for XA.  In phase 1 we store all message 
activity to persistent storage.  In the seconds phase we mark the 
transaction as committed.  Kinda simple since in a messaging system, we have 
fewer problems that could cause the prepare to fail (we don't need to get 
any locks and such).

* architecture: I haven't thought deeply about the trade-offs, but at
first look it seems odd to create a transaction log table in a rdms,
given that they can do the logging for you behind the scenes.


Not really, if we were to tie down every JMS session (transaction context) 
to a database connection, we might run out of database connection quickly.  
That is why we manage the 2 phase commit and don't delegate that work to the 
database XAResource.  All the work that is done on the database is not 
considered to be transacted so the transaction log is used to be able to 
rollback incomplete JMS transactions.

Regards,
Hiram

_
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistance implementation questions

2001-11-12 Thread David Jencks

I looked too.

On 2001.11.12 23:22:27 -0500 Loren Rosen wrote:
 I've been looking a bit at the jboss mq persistance code, and I have
 some questions. I'll state some of them from a user perspective, but my
 motivation is as a developer; that is, to address some of the 'problems'
 or 'limitations' these questions may uncover.
 
 * Different DBMS system support: I realize the current schema is pretty
 simple, but nevertheless I think it's inevitible that you're going to
 want tweaks for different database servers, for performance reasons if
 nothing else.
 
 * Performance tuning/scalability: has any work been done to address
 potential bottlenecks for high message throughput, large numbers of
 queues or topics, etc.?

There's a recent start at a message cache.  It appears to me to duplicate
the pm, so I suspect there is room for a great deal of improvement here.
 
 * recovery robustness: recovery is a tricky thing since there's so many
 possible ways things can fail. What's been done to think
 about/test-for/defend-against all the possibilities?

XAResource.recover is not implemented.  I think little has been done.  The
jdbc pm doesn't even make an attempt to recover from any failure when there
is an open transaction.
 
 * two-phase commit: Is two-phase commit (XA) supported? I didn't see
 anything explicitly in the code, but pehaps I haven't yet read it
 carefully enough.

I also am unclear about this.  I have a hard time convincing myself it
works in the absence of good tests.
 
 * architecture: I haven't thought deeply about the trade-offs, but at
 first look it seems odd to create a transaction log table in a rdms,
 given that they can do the logging for you behind the scenes.
 

Among the odd features of the jdbc pm is that it requires the db
connections it uses to have autocommit = true.  As far as I can tell this
is undocumented.

I did a little (very little) thinking about this and wondered if the
following would be plausible:

1. modify PersistenceManager interface to expose an XAResource interface,
used for all transaction control.

2. For jdbc pm, expose the XAResource from the (jca wrapped) XA db
connection.  For other pm, write whatever is appropriate.

3. Expose the XAResource from the PM through the XASession or the jms ra. 
This will allow 1 phase commit optimization for a transaction involving
both the db and jms, at least if the transaction is entirely on the same
server. (jms server on same vm as beans)

4. I'm not sure if it is necessary to register a synchronization with the
tm to tell the stuff above the pm to flush cached results to the pm before
commit starts.  I suspect not but I'm not sure.  Something like this seems
to be called a caching manager in the jca spec.

I'm unlikely to have time to implement any of these soon but I like
thinking about them.

Thanks

David Jencks

 
 
 _
 Do You Yahoo!?
 Get your free @yahoo.com address at http://mail.yahoo.com
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] jbossmq: persistence implementation questions

2001-11-12 Thread David Jencks

On 2001.11.13 00:13:54 -0500 Hiram Chirino wrote:
 
 Hi Loren!
 
 From: Loren Rosen [EMAIL PROTECTED]
 To: [EMAIL PROTECTED] 
 [EMAIL PROTECTED]
 Subject: [JBoss-dev] jbossmq: persistance implementation questions
 Date: Mon, 12 Nov 2001 20:22:27 -0800
 
 I've been looking a bit at the jboss mq persistence code, and I have
 some questions. I'll state some of them from a user perspective, but my
 motivation is as a developer; that is, to address some of the 'problems'
 or 'limitations' these questions may uncover.
 
 * Different DBMS system support: I realize the current schema is pretty
 simple, but nevertheless I think it's inevitable that you're going to
 want tweaks for different database servers, for performance reasons if
 nothing else.
 
 
 I guess will will make the code more abstract as we start supporting more
 
 databases.  If a DBMS is different enough from the basic implementation,
 we 
 could always create a new Persistence Manager just for that case.
 
 * Performance tuning/scalability: has any work been done to address
 potential bottlenecks for high message throughput, large numbers of
 queues or topics, etc.?
 
 
 Work has gone into making reading/writing from storage more efficient.  I
 
 don't think we have profiled the system enough yet to find out where the 
 bottle necks are.
 
 * recovery robustness: recovery is a tricky thing since there's so many
 possible ways things can fail. What's been done to think
 about/test-for/defend-against all the possibilities?
 
 
 Basic recovery test have been succeeding.  It's hard to automate failure 
 testing.  More code review would be good in this area to see if we are 
 missing anything.
 
 * two-phase commit: Is two-phase commit (XA) supported? I didn't see
 anything explicitly in the code, but pehaps I haven't yet read it
 carefully enough.
 
 
 We do have some basic support for XA.  In phase 1 we store all message 
 activity to persistent storage.  In the seconds phase we mark the 
 transaction as committed.  Kinda simple since in a messaging system, we
 have 
 fewer problems that could cause the prepare to fail (we don't need to get
 
 any locks and such).
 
 * architecture: I haven't thought deeply about the trade-offs, but at
 first look it seems odd to create a transaction log table in a rdms,
 given that they can do the logging for you behind the scenes.
 
 
 Not really, if we were to tie down every JMS session (transaction
 context) 
 to a database connection, we might run out of database connection
 quickly.  

This is only a problem with a non-xa driver.  With an xa driver, unlimited
numbers of transactions can use the same connection serially.  Anyone
actually using transactions with jms is going to need a non-toy db also
supporting xa, so I don't see this as a limitation except possibly for easy
free testing in an all java environment.  But then, right now the xa tests
in the testsuite fail for lack of an xa db.  The (xa capable) firebird
jca-jdbc driver is probably nearly far enough along to work for this.

thanks
david jencks

 That is why we manage the 2 phase commit and don't delegate that work to
 the 
 database XAResource.  All the work that is done on the database is not 
 considered to be transacted so the transaction log is used to be able to 
 rollback incomplete JMS transactions.
 
 Regards,
 Hiram
 
 _
 Get your FREE download of MSN Explorer at
 http://explorer.msn.com/intl.asp
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ JDBC PersistenceManager

2001-11-03 Thread Scott M Stark


What is the point of the ConnectionFactoryLoader as an entity
that is coupled to the RARDeployer? I don't see the point of having
trivial deployement of the RAR classes independent of the resource
adapator configuration. For a standalone resource adaptor it is not
so combersome to create a RAR and then configure an mbean, but
for a RAR deployed as part of an ear this does not make sense to me.
I think it would be more straightforward to configure the RAR deployment
using a jboss-ra.xml descriptor as part of the RAR just as any other
deployment unit is handled.

- Original Message -
From: David Jencks [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, November 02, 2001 8:08 PM
Subject: Re: [JBoss-dev] JBossMQ JDBC PersistenceManager


 Well, don't confuse the rar and the connectionfactory.

 What I have on my machine, using the mbean references, is like this:

 a rar gets a RARDeployment mbean, which among other things lets you see
the
 default properties and classes easily, but mostly allows you to depend on
 it.

 The ConnectionFactoryLoader has mbean references (dependencies) to the
 required RAR(Deployment) and the ConnectionManager(Factory) it uses. So,
it
 will deploy as soon as the exact things it needs are present.  No need for
 the artificial reference to RARDeployer.

 Do you think we should follow weblogic's lead and allow and encourage
 including a jboss-service.xml in a rar to allow configuring
 ConnectionFactory(Loaders) within the rar? It's certainly easy enough, but
 I have my doubts about the wisdom.  I definitely want to preserve the
 ability to have ConnectionFactoryLoader configurations outside the rar.

 david jencks

 On 2001.11.02 20:45:09 -0500 Scott M Stark wrote:
  I'm not particularly keen on how we couple the deployment properties of
a
  RAR to an MBean configuration AND a JMX notification. This makes the
  configuration for a RAR inconsistent with any other J2EE component
  deployment where this information is specified via a JBoss specific
  descriptor
  to build a self contained deployment unit. The configuration is also
more
  convoluted as you have to specifiy the name of the RAR deployer MBean
  so that notifications are received. This really makes no sense to
someone
  who just happens to have a RAR to deploy and hasn't been dragged through
  the JMX bus school of religion.
 
  I definitely want to change this for 3.0 and so I'll pickup what you
have
  and
  finish the deployment layer for 3.0 in a couple of weeks when I finish
  the
  book.
 
  I'm not sure if I want to introduce such a change for the handling of
  RARs
  into the 2.4 branch.
 
  
  Scott Stark
  Chief Technology Officer
  JBoss Group, LLC
  



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ JDBC PersistenceManager

2001-11-03 Thread David Jencks

I guess I have no particular problem having the ability to put a
jboss-service.xml file in a rar, as long as we keep the ability to
configure ConnectionFactoryLoader mbeans in any *-service.xml file.

The case with external configuration is crucial for jdbc databases and the
required DefaultDS, and could be pretty useful if someone uses the same rar
in many applications.

On 2001.11.03 03:46:09 -0500 Scott M Stark wrote:
 
 What is the point of the ConnectionFactoryLoader as an entity
 that is coupled to the RARDeployer?

None coupled to the RARDeployer, but coupled to the rar itself, it gives
you the ability to easily add/remove more connection factories at any time
after the rar is deployed, without duplicating the rar classes or
disturbing allready functioning ConnectionFactories.
 I don't see the point of having
 trivial deployement of the RAR classes independent of the resource
 adapator configuration. For a standalone resource adaptor it is not
 so combersome to create a RAR and then configure an mbean, but
 for a RAR deployed as part of an ear this does not make sense to me.
 I think it would be more straightforward to configure the RAR deployment
 using a jboss-ra.xml descriptor as part of the RAR just as any other
 deployment unit is handled.

Did someone add the rar in ear already?  In this case, you can configure
the CFL in a jboss-service.xml in the ear.

BTW, what do you think of putting rar's deployed in ears on the application
classloader rather than the system classloader? Thus allowing several apps
to have incompatible versions of the same rar.

Also btw, the change in 2.4 to put the rar's into the mlet classloader made
them non-redeployable I believe.  However this is better than inaccessible.

david jencks
 
 - Original Message -
 From: David Jencks [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, November 02, 2001 8:08 PM
 Subject: Re: [JBoss-dev] JBossMQ JDBC PersistenceManager
 
 
  Well, don't confuse the rar and the connectionfactory.
 
  What I have on my machine, using the mbean references, is like this:
 
  a rar gets a RARDeployment mbean, which among other things lets you see
 the
  default properties and classes easily, but mostly allows you to depend
 on
  it.
 
  The ConnectionFactoryLoader has mbean references (dependencies) to the
  required RAR(Deployment) and the ConnectionManager(Factory) it uses.
 So,
 it
  will deploy as soon as the exact things it needs are present.  No need
 for
  the artificial reference to RARDeployer.
 
  Do you think we should follow weblogic's lead and allow and encourage
  including a jboss-service.xml in a rar to allow configuring
  ConnectionFactory(Loaders) within the rar? It's certainly easy enough,
 but
  I have my doubts about the wisdom.  I definitely want to preserve the
  ability to have ConnectionFactoryLoader configurations outside the rar.
 
  david jencks
 
  On 2001.11.02 20:45:09 -0500 Scott M Stark wrote:
   I'm not particularly keen on how we couple the deployment properties
 of
 a
   RAR to an MBean configuration AND a JMX notification. This makes the
   configuration for a RAR inconsistent with any other J2EE component
   deployment where this information is specified via a JBoss specific
   descriptor
   to build a self contained deployment unit. The configuration is also
 more
   convoluted as you have to specifiy the name of the RAR deployer MBean
   so that notifications are received. This really makes no sense to
 someone
   who just happens to have a RAR to deploy and hasn't been dragged
 through
   the JMX bus school of religion.
  
   I definitely want to change this for 3.0 and so I'll pickup what you
 have
   and
   finish the deployment layer for 3.0 in a couple of weeks when I
 finish
   the
   book.
  
   I'm not sure if I want to introduce such a change for the handling of
   RARs
   into the 2.4 branch.
  
   
   Scott Stark
   Chief Technology Officer
   JBoss Group, LLC
   
 
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ JDBC PersistenceManager

2001-11-03 Thread Scott M Stark

Here is the disconnect I still have with regard to RARs. For RARs we
have to configure a ConnectionFactoryLoader mbean instance for a
particular RAR. For every other J2EE component we have an mbean
that handles many deployments and obtains the deployment unit specific
properties from standard + JBoss specific deployment descriptors.
With the current RAR mechanism I cannot deploy a RAR from a remote
URL since the RAR is not a self describing deployment unit(2.4, I don't
know about 3.0). Why?

The only point to not including a JBoss specific deployment descriptor
in the RAR is that this allows easier configuration. This is simply a
tools/packaing
issue. You can use an unarchived RAR and achieve the same effect by
simply editing the jboss-ra.xml file within the RAR directory.




Scott Stark
Chief Technology Officer
JBoss Group, LLC

- Original Message -
From: David Jencks [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Saturday, November 03, 2001 5:49 AM
Subject: Re: [JBoss-dev] JBossMQ JDBC PersistenceManager


 I guess I have no particular problem having the ability to put a
 jboss-service.xml file in a rar, as long as we keep the ability to
 configure ConnectionFactoryLoader mbeans in any *-service.xml file.

 The case with external configuration is crucial for jdbc databases and the
 required DefaultDS, and could be pretty useful if someone uses the same
rar
 in many applications.

 On 2001.11.03 03:46:09 -0500 Scott M Stark wrote:
 
  What is the point of the ConnectionFactoryLoader as an entity
  that is coupled to the RARDeployer?

 None coupled to the RARDeployer, but coupled to the rar itself, it gives
 you the ability to easily add/remove more connection factories at any time
 after the rar is deployed, without duplicating the rar classes or
 disturbing allready functioning ConnectionFactories.
  I don't see the point of having
  trivial deployement of the RAR classes independent of the resource
  adapator configuration. For a standalone resource adaptor it is not
  so combersome to create a RAR and then configure an mbean, but
  for a RAR deployed as part of an ear this does not make sense to me.
  I think it would be more straightforward to configure the RAR deployment
  using a jboss-ra.xml descriptor as part of the RAR just as any other
  deployment unit is handled.

 Did someone add the rar in ear already?  In this case, you can configure
 the CFL in a jboss-service.xml in the ear.

 BTW, what do you think of putting rar's deployed in ears on the
application
 classloader rather than the system classloader? Thus allowing several apps
 to have incompatible versions of the same rar.

 Also btw, the change in 2.4 to put the rar's into the mlet classloader
made
 them non-redeployable I believe.  However this is better than
inaccessible.

 david jencks
 
  - Original Message -
  From: David Jencks [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Friday, November 02, 2001 8:08 PM
  Subject: Re: [JBoss-dev] JBossMQ JDBC PersistenceManager
 
 
   Well, don't confuse the rar and the connectionfactory.
  
   What I have on my machine, using the mbean references, is like this:
  
   a rar gets a RARDeployment mbean, which among other things lets you
see
  the
   default properties and classes easily, but mostly allows you to depend
  on
   it.
  
   The ConnectionFactoryLoader has mbean references (dependencies) to the
   required RAR(Deployment) and the ConnectionManager(Factory) it uses.
  So,
  it
   will deploy as soon as the exact things it needs are present.  No need
  for
   the artificial reference to RARDeployer.
  
   Do you think we should follow weblogic's lead and allow and encourage
   including a jboss-service.xml in a rar to allow configuring
   ConnectionFactory(Loaders) within the rar? It's certainly easy enough,
  but
   I have my doubts about the wisdom.  I definitely want to preserve the
   ability to have ConnectionFactoryLoader configurations outside the
rar.
  
   david jencks
  
   On 2001.11.02 20:45:09 -0500 Scott M Stark wrote:
I'm not particularly keen on how we couple the deployment properties
  of
  a
RAR to an MBean configuration AND a JMX notification. This makes the
configuration for a RAR inconsistent with any other J2EE component
deployment where this information is specified via a JBoss specific
descriptor
to build a self contained deployment unit. The configuration is also
  more
convoluted as you have to specifiy the name of the RAR deployer
MBean
so that notifications are received. This really makes no sense to
  someone
who just happens to have a RAR to deploy and hasn't been dragged
  through
the JMX bus school of religion.
   
I definitely want to change this for 3.0 and so I'll pickup what you
  have
and
finish the deployment layer for 3.0 in a couple of weeks when I
  finish
the
book.
   
I'm not sure if I want to introduce

[JBoss-dev] JBossMQ JDBC PersistenceManager

2001-11-02 Thread Charles Chan

Hi, Hiram,

The technique you mentioned should generally works for
most MBeans. But for ConnectionFactoryLoader, it's a
little  different. The
org.jboss.resource.ConnectionFactoryLoader uses some
kind of a two step initialization. The connection
specified in your XML file is created and bound to
JNDI only if the jboss-jdbc.rar is fully deployed.

The init logic in ConnectionFactoryLoader looks like
this:

initService:

- register itself as a deployment notification
listener for the resource adapter (jboss-jdbc.rar)
[it's a little bit more abstract that this, but you
get the idea]

startService:

- if RARDeployer is present (it should because that's
an explicit depends tag in the xml file), ask
RARDeployer if jboss-jdbc.rar has been deployed.

- if YES, continue to load the connection factory and
perform all necessary initialization including JNDI
name registration.

- if NO, wait until it is notified (recall
initService).

To our dependency checker (AutoDeployer),
ConnectionFactoryLoader is already deployed even if it
has not fully initialize its internal connection
factory.

So, the deploy process continues and a JNDI
NameNotFoundException is thrown when
jbossmq-service.xml is deployed.

I have traced thru the initialization steps in:

http://www.jboss.org/forums/thread.jsp?forum=51thread=3359

It looks similar to this in this particular case (in
sequence)

1. deploy/lib/jboss-jdbc.rar (don't deploy... wait
until RARDeployer is deployed)
2. deploy/j2eedeployment-service.xml (now RARDeployer
is deployed)
3. deploy/postgres-service.xml (deploy
ConnectionFactoryLoader but cannot initialize its
internal connection factory)
4. deploy/jbossmq-service.xml (NameNotFoundException)
5. deploy/lib/jboss-jdbc.rar (now, the JDBC resource
adapter is deployed, RARDeployer fires deployment
notification event to ConnectionFactoryLoader's
listener. The listener initializes the internal
connection factory and performs JNDI registration but
it's too late for jbossmq-service.xml)

I think the problem can be fixed if we can re-visit
jboss-jdbc.rar once the RARDeployer is ready. That is,
moving Step 5 up to Step 3.

This is my investigation so far. I cc
jboss-development to see if someone has a better idea.
:) And I don't know which (jboss-dev or spydermq)
mailing list is more appropriate.

Charles


--- Hiram Chirino [EMAIL PROTECTED] wrote:
 
 The problem with JDBC is because the jboss-jdbc.rar
 is
 deployed AFTER jbossmq-service.xml. So, when the
 PersistenceManager starts up, it complains about
 NameNotBoundException (JNDI exception).
 
 To workaround this problem, you can first move
 jbossmq-service.xml out of the deploy directory.
 After
 JBoss successfully starts up, you put the file back
 into the deploy directory. The PersistenceManager
 should then be deployed properly.
 
 
 To solve that problem, you might want to look into
 adding the a
 depends tag to the jbossmq-service.xml file so
 that it waits for the 

JBOSS-SYSTEM:service=ConnectionFactoryLoader,name=DefaultDS
 
 I think this will delay jbossmq deployment until the
 DefaultDS is deployed.
 
 It would be WAY cool if we could get the jbossmq
 JDBC PM to work with the 
 Hypersonic SQL database that is included with the
 default JBoss dist.  What 
 do you think??
 
 Regards,
 Hiram
 
 
 I am using PostgreSQL which uses some wierd
 settings
 for Blob. Obviously, the JDBC PersistenceManager is
 not ready for this... So I cannot test if the
 actual
 functionality of the PersistenceManager.
 
 Since there doesn't seem to be a real demand for
 PostgreSQL persistence on JMS, I will try to get
 another DB and try it out.
 
 Charles
 
 --- Hiram Chirino [EMAIL PROTECTED] wrote:
  
   Cool..  I assume you have sourceforge ID.  Send
 it
   to me, I'll have Mark F.
   get you RW access to the CVS.
  
   I forgot what the dependency problem was with
 JDBC.
   Could you refresh me??
  
   Regards,
   Hiram
  
   From: Charles Chan [EMAIL PROTECTED]
   Reply-To: [EMAIL PROTECTED]
   To: [EMAIL PROTECTED]
   Date: Fri, 2 Nov 2001 08:26:21 -0800 (PST)
   
   Hi, Hiram, I think I have found a solution to
 the
   port
   scanning problem:
   
  
 

http://www.jboss.org/forums/thread.jsp?forum=48thread=3269
   
   Please take a look.
   
   As for the JDBC problem, can we assume that the
   MBean
   dependency will be handled by someone else?
   
   Charles
   
  
 __
   Do You Yahoo!?
   Find a job, post your resume.
   http://careers.yahoo.com
  
  
  

_
   Get your FREE download of MSN Explorer at
   http://explorer.msn.com/intl.asp
  
 
 
 __
 Do You Yahoo!?
 Find a job, post your resume.
 http://careers.yahoo.com
 
 

_
 Get your FREE download of MSN Explorer at
 http://explorer.msn.com/intl.asp
 


__
Do 

Re: [JBoss-dev] JBossMQ JDBC PersistenceManager

2001-11-02 Thread David Jencks

Interesting situation.  I have on my machine a reimplementation of the
depends mechanism that changes the RARDeployment sequence so it does not
rely on the notifications noted here.  However, it eliminates the separate
init and start steps of mbean startup.  The only place this is used is
setting up the queues and durable subscriptions for jboss mq.  I got the
rolling logged pm working this new way but not file or jdbc and I kind
of ran out of energy for this.  Anyone want to help?

david jencks

On 2001.11.02 18:45:55 -0500 Charles Chan wrote:
 Hi, Hiram,
 
 The technique you mentioned should generally works for
 most MBeans. But for ConnectionFactoryLoader, it's a
 little  different. The
 org.jboss.resource.ConnectionFactoryLoader uses some
 kind of a two step initialization. The connection
 specified in your XML file is created and bound to
 JNDI only if the jboss-jdbc.rar is fully deployed.
 
 The init logic in ConnectionFactoryLoader looks like
 this:
 
 initService:
 
 - register itself as a deployment notification
 listener for the resource adapter (jboss-jdbc.rar)
 [it's a little bit more abstract that this, but you
 get the idea]
 
 startService:
 
 - if RARDeployer is present (it should because that's
 an explicit depends tag in the xml file), ask
 RARDeployer if jboss-jdbc.rar has been deployed.
 
 - if YES, continue to load the connection factory and
 perform all necessary initialization including JNDI
 name registration.
 
 - if NO, wait until it is notified (recall
 initService).
 
 To our dependency checker (AutoDeployer),
 ConnectionFactoryLoader is already deployed even if it
 has not fully initialize its internal connection
 factory.
 
 So, the deploy process continues and a JNDI
 NameNotFoundException is thrown when
 jbossmq-service.xml is deployed.
 
 I have traced thru the initialization steps in:
 
 http://www.jboss.org/forums/thread.jsp?forum=51thread=3359
 
 It looks similar to this in this particular case (in
 sequence)
 
 1. deploy/lib/jboss-jdbc.rar (don't deploy... wait
 until RARDeployer is deployed)
 2. deploy/j2eedeployment-service.xml (now RARDeployer
 is deployed)
 3. deploy/postgres-service.xml (deploy
 ConnectionFactoryLoader but cannot initialize its
 internal connection factory)
 4. deploy/jbossmq-service.xml (NameNotFoundException)
 5. deploy/lib/jboss-jdbc.rar (now, the JDBC resource
 adapter is deployed, RARDeployer fires deployment
 notification event to ConnectionFactoryLoader's
 listener. The listener initializes the internal
 connection factory and performs JNDI registration but
 it's too late for jbossmq-service.xml)
 
 I think the problem can be fixed if we can re-visit
 jboss-jdbc.rar once the RARDeployer is ready. That is,
 moving Step 5 up to Step 3.
 
 This is my investigation so far. I cc
 jboss-development to see if someone has a better idea.
 :) And I don't know which (jboss-dev or spydermq)
 mailing list is more appropriate.
 
 Charles
 
 
 --- Hiram Chirino [EMAIL PROTECTED] wrote:
  
  The problem with JDBC is because the jboss-jdbc.rar
  is
  deployed AFTER jbossmq-service.xml. So, when the
  PersistenceManager starts up, it complains about
  NameNotBoundException (JNDI exception).
  
  To workaround this problem, you can first move
  jbossmq-service.xml out of the deploy directory.
  After
  JBoss successfully starts up, you put the file back
  into the deploy directory. The PersistenceManager
  should then be deployed properly.
  
  
  To solve that problem, you might want to look into
  adding the a
  depends tag to the jbossmq-service.xml file so
  that it waits for the 
 
 JBOSS-SYSTEM:service=ConnectionFactoryLoader,name=DefaultDS
  
  I think this will delay jbossmq deployment until the
  DefaultDS is deployed.
  
  It would be WAY cool if we could get the jbossmq
  JDBC PM to work with the 
  Hypersonic SQL database that is included with the
  default JBoss dist.  What 
  do you think??
  
  Regards,
  Hiram
  
  
  I am using PostgreSQL which uses some wierd
  settings
  for Blob. Obviously, the JDBC PersistenceManager is
  not ready for this... So I cannot test if the
  actual
  functionality of the PersistenceManager.
  
  Since there doesn't seem to be a real demand for
  PostgreSQL persistence on JMS, I will try to get
  another DB and try it out.
  
  Charles
  
  --- Hiram Chirino [EMAIL PROTECTED] wrote:
   
Cool..  I assume you have sourceforge ID.  Send
  it
to me, I'll have Mark F.
get you RW access to the CVS.
   
I forgot what the dependency problem was with
  JDBC.
Could you refresh me??
   
Regards,
Hiram
   
From: Charles Chan [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Fri, 2 Nov 2001 08:26:21 -0800 (PST)

Hi, Hiram, I think I have found a solution to
  the
port
scanning problem:

   
  
 
 http://www.jboss.org/forums/thread.jsp?forum=48thread=3269

Please take a look.

As for the JDBC problem, can we assume 

Re: [JBoss-dev] JBossMQ JDBC PersistenceManager

2001-11-02 Thread David Jencks

Well, don't confuse the rar and the connectionfactory.

What I have on my machine, using the mbean references, is like this:

a rar gets a RARDeployment mbean, which among other things lets you see the
default properties and classes easily, but mostly allows you to depend on
it.

The ConnectionFactoryLoader has mbean references (dependencies) to the
required RAR(Deployment) and the ConnectionManager(Factory) it uses. So, it
will deploy as soon as the exact things it needs are present.  No need for
the artificial reference to RARDeployer.

Do you think we should follow weblogic's lead and allow and encourage
including a jboss-service.xml in a rar to allow configuring
ConnectionFactory(Loaders) within the rar? It's certainly easy enough, but
I have my doubts about the wisdom.  I definitely want to preserve the
ability to have ConnectionFactoryLoader configurations outside the rar.

david jencks

On 2001.11.02 20:45:09 -0500 Scott M Stark wrote:
 I'm not particularly keen on how we couple the deployment properties of a
 RAR to an MBean configuration AND a JMX notification. This makes the
 configuration for a RAR inconsistent with any other J2EE component
 deployment where this information is specified via a JBoss specific
 descriptor
 to build a self contained deployment unit. The configuration is also more
 convoluted as you have to specifiy the name of the RAR deployer MBean
 so that notifications are received. This really makes no sense to someone
 who just happens to have a RAR to deploy and hasn't been dragged through
 the JMX bus school of religion.
 
 I definitely want to change this for 3.0 and so I'll pickup what you have
 and
 finish the deployment layer for 3.0 in a couple of weeks when I finish
 the
 book.
 
 I'm not sure if I want to introduce such a change for the handling of
 RARs
 into the 2.4 branch.
 
 
 Scott Stark
 Chief Technology Officer
 JBoss Group, LLC
 
 - Original Message -
 From: David Jencks [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Friday, November 02, 2001 4:43 PM
 Subject: Re: [JBoss-dev] JBossMQ JDBC PersistenceManager
 
 
  Interesting situation.  I have on my machine a reimplementation of the
  depends mechanism that changes the RARDeployment sequence so it does
 not
  rely on the notifications noted here.  However, it eliminates the
 separate
  init and start steps of mbean startup.  The only place this is used is
  setting up the queues and durable subscriptions for jboss mq.  I got
 the
  rolling logged pm working this new way but not file or jdbc and I
 kind
  of ran out of energy for this.  Anyone want to help?
 
  david jencks
 
  On 2001.11.02 18:45:55 -0500 Charles Chan wrote:
   Hi, Hiram,
  
   The technique you mentioned should generally works for
   most MBeans. But for ConnectionFactoryLoader, it's a
   little  different. The
   org.jboss.resource.ConnectionFactoryLoader uses some
   kind of a two step initialization. The connection
   specified in your XML file is created and bound to
   JNDI only if the jboss-jdbc.rar is fully deployed.
  
   The init logic in ConnectionFactoryLoader looks like
   this:
  
   initService:
  
   - register itself as a deployment notification
   listener for the resource adapter (jboss-jdbc.rar)
   [it's a little bit more abstract that this, but you
   get the idea]
  
   startService:
  
   - if RARDeployer is present (it should because that's
   an explicit depends tag in the xml file), ask
   RARDeployer if jboss-jdbc.rar has been deployed.
  
   - if YES, continue to load the connection factory and
   perform all necessary initialization including JNDI
   name registration.
  
   - if NO, wait until it is notified (recall
   initService).
  
   To our dependency checker (AutoDeployer),
   ConnectionFactoryLoader is already deployed even if it
   has not fully initialize its internal connection
   factory.
  
   So, the deploy process continues and a JNDI
   NameNotFoundException is thrown when
   jbossmq-service.xml is deployed.
  
   I have traced thru the initialization steps in:
  
   http://www.jboss.org/forums/thread.jsp?forum=51thread=3359
  
   It looks similar to this in this particular case (in
   sequence)
  
   1. deploy/lib/jboss-jdbc.rar (don't deploy... wait
   until RARDeployer is deployed)
   2. deploy/j2eedeployment-service.xml (now RARDeployer
   is deployed)
   3. deploy/postgres-service.xml (deploy
   ConnectionFactoryLoader but cannot initialize its
   internal connection factory)
   4. deploy/jbossmq-service.xml (NameNotFoundException)
   5. deploy/lib/jboss-jdbc.rar (now, the JDBC resource
   adapter is deployed, RARDeployer fires deployment
   notification event to ConnectionFactoryLoader's
   listener. The listener initializes the internal
   connection factory and performs JNDI registration but
   it's too late for jbossmq-service.xml)
  
   I think the problem can be fixed if we can re-visit
   jboss-jdbc.rar once the RARDeployer

JBoss threads on Linux (Was: Re: [JBoss-dev] JBossMQ thread model)

2001-10-05 Thread Ole Husgaard

Hi,

Tobias Frech wrote:
 There is a interesting thread on linux threads here:
 http://www.jboss.org/forums/thread.jsp?forum=52thread=2273

Yes, and it kind of exposes the confusion on this.

A few years back I did a lot of Linux kernel hacking,
so I guess I know a little about this.

It is correct that all the different java threads
share the same memory image. They also share all
open file descriptors.

But I am not sure if this can be called lightweight
threads: In the kernel, each of these threads are
scheduled independently, and the recalculation of the
dynamic priority happens independently for each thread.
Conpare this to lightweight threads that are usually
scheduled in a simple round-robin way, under the control
of the dynamic priority of the process.

Changing the kernel to allow more processes is simple,
as you only have to change a constant and recompile
the kernel.
If you change this, and have a lot of threads sharing
the same memory image (like in the JBoss case), you
may also have to lower the constant defining the thread
stack size in linuxthreads (part of glibc), as each
thread needs its own stack in the shared memory image,
and you do not have room for a lot of stacks if each
stack occupies 2 MB as default. JBoss seems to run
fine with a 256 KB stack size.

But with a lot of threads, you will see another problem:
Threads are processes in Linux, and their dynamic
priority (goodness) has to be recalculated in the kernel.
The algorithm Linux is using for this is slow, but good.
Good dynamic priority recalculation means that the overall
system feels very responsive even under load, but the
recalculation also eats processor cycles.
To get around that problem, IBM has developed a patch to
the Linux scheduler that enables faster (but not quite
as good) dynamic priority recalculation. This patch was
not accepted into the kernel, as it makes the system feel
less responsive under normal conditions.

But even with all this done, it is just a matter of
starting enough threads before you start seeing the same
problems again. And you should also see similar problems
on other systems if you start enough threads.

Anyway, (non-realtime) threads are IMHO nothing but
a programmer's convenience, and should not be used
if they can be easily avoided.
In particular, on native-threads Java VMs, starting
and stopping threads is very slow compared to other
operations because it involves calls to the operating
system.


Best Regards,

Ole Husgaard.

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ thread model

2001-10-05 Thread Peter Antman

On  5 Okt, Ole Husgaard wrote:
 Hi,
 
 I hope it is OK that I forward your reply to the list.
 
 David Maplesden wrote:
 Sounds like a good idea.  It didn't feel when writing the code that an extra
 thread per connection would be a problem.  If it is for you then you will
 probably want to pool the communication threads as well, as there is at
 least one of these per connection for the commonly used OIL and UIL
 communication mechanisms.
 
 Yes, I have been looking at this too, but found no easy solution.
 Maybe because I am not very familiar with I/O under Java.
 
 My problem is multiplexing several file stream reads on a single
 thread. Here, the Java libraries seem to lack features similar
 to the BSD select(2) syscall or the SysV poll(2) syscall.
 While something could be emulated with the InputStream.available()
 method, it would be a busy wait for input since this method would
 have to be called almost constantly.
 
 I believe that the new I/O system in JDK1.4 supports this, but
 we cannot require users to use that (yet). See JSR-51.

There might be a way around that. One of the members in JSR-51 has
written a non blocking io library for java (on Unix plattforms) that
works with earlier releases of the JDK - nbio. According to the website, it
is used in  SwiftMQ to provide superior scalability and performance for
MQ-based applications. Something to beat for JBossMQ ;-)

//Peter
 
 
 Best Regards,
 
 Ole Husgaard.
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development


//Peter
-- 
Jobba hos oss: http://www.tim.se/weblab

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JBossMQ thread model

2001-10-05 Thread Scott M Stark

The home page of NBIO is:
http://www.cs.berkeley.edu/~mdw/proj/java-nbio/

From my reading of this in the past this only supported systems that support
standard *NIX system calls. Maybe this would work on Win2k with Cygwin.


Scott Stark
Chief Technology Officer
JBoss Group, LLC


- Original Message -
From: Peter Antman [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, October 05, 2001 5:44 AM
Subject: Re: [JBoss-dev] JBossMQ thread model


 On  5 Okt, Ole Husgaard wrote:
  Hi,
 
  I hope it is OK that I forward your reply to the list.
 
  David Maplesden wrote:
  Sounds like a good idea.  It didn't feel when writing the code that an
extra
  thread per connection would be a problem.  If it is for you then you
will
  probably want to pool the communication threads as well, as there is at
  least one of these per connection for the commonly used OIL and UIL
  communication mechanisms.
 
  Yes, I have been looking at this too, but found no easy solution.
  Maybe because I am not very familiar with I/O under Java.
 
  My problem is multiplexing several file stream reads on a single
  thread. Here, the Java libraries seem to lack features similar
  to the BSD select(2) syscall or the SysV poll(2) syscall.
  While something could be emulated with the InputStream.available()
  method, it would be a busy wait for input since this method would
  have to be called almost constantly.
 
  I believe that the new I/O system in JDK1.4 supports this, but
  we cannot require users to use that (yet). See JSR-51.

 There might be a way around that. One of the members in JSR-51 has
 written a non blocking io library for java (on Unix plattforms) that
 works with earlier releases of the JDK - nbio. According to the website,
it
 is used in  SwiftMQ to provide superior scalability and performance for
 MQ-based applications. Something to beat for JBossMQ ;-)

 //Peter



___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



  1   2   >