The 2.4 is the stable branch and there are no plans to make another branch off of main prior to 3.0. If there are bugs in 2.4 that you want fixed create a patch off of 2.4 and post is to sourceforge.
I guess what he is saying is basically this (sorry Hiram if am am of here): the JBossMQ in 2.4.3 is not yet really production ready. For example it misses support for ExceptionListener - which is a critical part in any production environment. I myself has not yet dared to upgrade our prodiction stuff from 2.2.1 becuse of the unstable/unfinished nature of JBossMQ.
We should really - and I mean really - need a rocksolif JBossMQ in 2.4.x because that will be a production environment for a long time. That is at least what I suspect. 3.0 will not get bashed by a lot of people until it is released, and will probably not be really mature untill it reaches 3.2 (my guesses only).
This will place an JMS users in sort of a limbo: waiting for fixes of JBossMQ in RH3.0, but not beeing able to use 3.0 because it is not "user bashed" enough.
Hope I did not step on any ones toes now. Everyone involved in this has did and still does a geat jobb. It's just that a loot of work on JBossMQ happend to be done in parallell with the 2.4.x release, and therefore it was not really finished when it was backported to 2.4.1.
Pra is right. What I'm saying is that I really like JBossMQ. It's fast, has a good developer base, great forum support and the price is right. I can't however recommend it for use in my production environment because of the lack of ExceptionListener support.
This support was added (thanks Hiram) in CVS. However the current state of the CVS builds aren't production either. I haven't found one that didn't have some sort of problem. I report these problems, and they get fixed quickly. This is great and I'm sure RH 3.0 will be a wonderful product.
The problem is that I need a JMS provider today (or very soon). And eventhough it would probably be an easy thing to do, my company isn't going to let me change providers once we decide to go with one.
If there was a rock solid JBossMQ release that did the basic JMS stuff (including ExceptionListeners), I could show that this product does what we need now, better than the competing products. Then when RH 3.0 is released offering more stuff, we can follow the JBoss migration path and upgrade.
This is a much easier and preferred way of using JBoss than having to go with SwiftMQ or Fiorano now and then trying to convince people that we should change providers later. In a corporate environment this is next to impossible to do.
And I am saying that if you want it make it happen. There can't be that big a difference between 2.4 and main as they were syncd for the 2.4.1 release. Create a diff of the critical changes missing from 2.4.3 relative to main and I'll spend some time to get them applied. This is a yourself buffet.
I'm afriad I don't have the expertise with either the JBoss code base, or cvs to determine what changes since 2.4.1 were relative to the features/bugs I needed fixed, and what is part of the (incomplete) RH 3.0 future features.
I know that David fixed a concurrency bug in SpyMessageConsumer.
Hiram also added the ping code neccessary to implement a working ExceptionListener. I have no idea where this code is.
If it really isn't that hard to figure out and create a diff, I'd suggest that the developers who fixed what essentially are bugs in 2.4.3, apply these patches to that branch. This way we can have a 2.4.4 release that pretty much just works.
I know that I'm just one user, but I don't think I'm alone. Peter really, really wants this, as I'm sure many other JBoss users do too. And from what I've seen, the developers are more than happy to fix their bugs. This just leaves the branch and roll process. I know this is more work for you, but I think in the end it will be worth it. It would give more credibility to the claim that "All JMS 1.0.2 features have been implemented...".
Also my original request was for a stand alone JBossMQ-1.0.0beata2 release which fixed the bugs from beta one. If this is easier, I'd be fine with that. In that case a whole JBoss release isn't needed.
Hi there, I am also interested in some sort of stable JBossMQ release for JBoss 2.4.x as we will be rolling it out in production soon and are really interested in doing some JMS stuff. The main limitation at present is the lack of ExceptionListener code in the 2.4.3 release.
Whilst I can appreciate that a help yourself buffet is what we have, it is a little difficult when I am totally unfamiliar with the jbossmq source. If anyone has some pointers on how best to diff the sources to find relevant stuff for a patch then please let me know as like CptnKirk i am really keen to see a stable (or feature complete) JBossMQ in the 2.4.x release.
Thanks for the great work!
so I did this. Took the complete RH 3.O jbossmq stuff and copied it over 2.4.3. Made it compile and did some verry small tests. It should work.
If yoy dare tom you may test it.
Copy client/jbossmq-client.jar and lib/ext/jbossmq.jar from the dist in the file to your current 2.4.3 dist (save the original files).
Edit run.sh an ad -Djboss.system.home, eg
java $HOTSPOT $JAXP -classpath $JBOSS_CLASSPATH -Djboss.system.home=../conf/tomcat org.jboss.Main $@
If you run with tomcat, or default if not.
Test, test, test.
I will be gone during the weekend, so I will not be able to respond to you. It would be nice if you got verify it with your current code. Hope it works.
Well, I DLed the new dist and copied the files. However when I went to start the server is had many problems. They look to be configuration problems, with things like the PersistanceManager, QueueManager, StateManager all bailing because (I assume) their configs have changed from 2.4 to 3.0. I know that the file locations as well as the format have changed. So it appears that just copying the two files doesn't work. I haven't tried the overlay yet.
Nope a flat overlay of the dist dir of the new package on top of a 2.4.3 release didn't seem to work either. Same failures during startup.
Ok, it was just a quick test. It worked for my 2.4.3 version and MDB and RA testst, but - sorry - I have no time to check why it does not work for you. We simply have to waut for Hiram to do a real backport.
I got this working by 'cleaning' the data files in the db/jbossmq dir (ie: rm *.dat?). I guess the format has changed somewhat. Also you will need to play with the org.jboss.ejb.plugins.jms.JMSContainerInvoker source if you are using MDBs and want them to try reconnecting when an exception occurs (or get CVS version perhaps?).
661 implements ExceptionListener
663 JMSContainerInvoker invoker; // = null;
664 Thread currentThread; // = null;
665 boolean notStoped; // = true;
--> this needs to be true for container to retry connecting!
Hope some of this may help CptKirk to play with this stuff.
Thanks for the download Peter!
Thanks for the effort, but I'm still having problems.
I've tried the above process on a clean 2.4.3 install, but still get some NullPointerExceptions at startup. I assume these are bad and will cause unexpected results at runtime.
One such error is listed below, similar errors happen in Configuration, StateManager, QueueManager (for every Queue):
[PersistenceManager] Initialization failed
at java.lang.reflect.Method.invoke(Native Method)
Look like you forgot this:
../conf/default if you are not using the tomcat version. And perhaps yet something other if you do other hanky panky with run.sh