Hi Lucas,
thanks for your solution using rmiregistry !
Concerning your problem of failure recovery. I think that most JMS
implementations (?) rely on an object instance in the MOM to represents a
destination. Access to such a destination is provided by a Destination object
which is bound in JNDI (JMS spec). If the MOM (Joram) crashes, you usually have
to recreate your destination object, and thus to rebind it ! However, Joram
provides fault tolerance features ! i.e. you may specify that MOM objects (and
messages !) be persistent, which means that when restarting your MOM after a
crash you will find your MOM objects (e.g. destinations) again ! So I suggest
that you have a look at the end of the
http://www.objectweb.org/jonas/jonas_root/doc/MsgDrvBean.html#LaunchingMom
section of JOnAS documentation (and to http://www.objectweb.org/joram), and try
to launch Joram separately from JOnAS with the persistence option
(-DTransaction=ATransaction), as this could solve your failure recovery problem
... note that some problems may persist due to the fact that, although all MOM
objects are recovered, and objects bound in JMS client applis (EJB server MDBs)
are still valid, all opened JMS connections have been closed during the "crash
and restart".
In addition, we are currently working on JOnAS management (through JMX), and I
think it will be a nice idea to considere the possibility to dynamically bind a
MDB to a new topic ... we will think about it. JOnAS management facilities
should be available in September (at least it will be possible to redeploy a
bean).
Note that if you want to port your application on different app servers, I do
not know how failures are managed in the other JMS implementations, since this
aspect is not standard ...
Best Regards,
Fran�ois
Lucas McGregor wrote:
> Fran�ois,
>
> thank you for your help. I have been trying to avoid Jeremie, mainly
> because I plan to port the application to several different App servers and
> don't want to user anything that is Jonas specific.
>
> I had thought that Topic publishers and subscribers were linked on
> the basis of the Topic name and not on an actual instance of a topic object.
> Taking your lead, I have tested the following:
>
> 1) I start a copy of rmiregistry on server1
> 2) I start Jonas and Joram on server1
> 3) I start a copy of rmiregistry on server2
> 4) I lookup a Remote for the topic from server1's rmiregistry
> and then bind it under the same name on server2's
> rmiregstry.
> 5) I start up Jonas on server2. Since a Topic already exists in the
> registry, it doesn't create a new one.
>
> Now both Jonas servers see JMS messages posted to the Topic.
>
> But if the JVM on server1 ever loses the Topic, then everything
> breaks. All the Jonas servers create their copy of the MDB and bind it to
> the topic upon deployment. If I lose that topic object on server1, then all
> the MDB's are bound to a topic that I can no longer reach.
>
> I have tested failure over by killing and restarting server1's. I
> then restarted it, and rebound the new topic to the rmiregistry under the
> same name.
>
> I have tried to simply remove and add the MDB again. But unless I
> restart all the jonas servers hosting the MDB's, they all remain bound to
> the dead topic object and never find the new one.
>
> So, since JMS, joram at least, uses a Topic object instance to match
> make pub/sub, this presents a single point of failure. Unless I can get all
> the MDB beans to rebind to a new topic dynamically in Jonas.
>
> This seems to be the case with Jeremie too, since I would still lose
> the object.
>
> Is this just the way that MDB's and JMS are? Am I missing something?
> Is there a way to make joram matchmake on a name and not and instance? Can
> Jonas rebind its MDB's to new topics dynamically?
>
> If anyone could point me in any direction, that would be great.
>
> thanks once again for all your help,
>
> Lucas McGregor([EMAIL PROTECTED])
>
--
==================================================================
Fran�ois EXERTIER Evidian (Groupe Bull)
1, rue de Provence, BP 208, 38432 Echirolles cedex, FRANCE
mailto:[EMAIL PROTECTED]
http://www.evidian.com/jonas http://www.objectweb.org/jonas
Tel: +33 (0)4 76 29 71 51 - Fax: +33 (0)4 76 29 77 30
==================================================================
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".