anonymous wrote : 
  | I don't think this needs to be that complicated.  If we force/require all 
ResourceAdapters and ManagedConnectionFactory's to have a specific ObjectName 
attribute then we can do an MBean query on the MBeanServer to find these 
MBeans. 
  | 
  | From what you're saying, I think we need to require that each XA resource 
be required to implement an MBean whose sole purpose is to obtain a reference 
to an XAResource interface. 
  | 
  | So, here's what I had in mind:
  | 
  | 1. JBoss Boots up.  All MBeans are created and started.
  | 2. JBoss ServerImpl broadcasts an MBean Startup Notification. (This is 
currently already coded).
  | 3. RecoverManager MBean receives the "JBoss Started" notification and 
begins recovery.
  | 4. RecoveryManager queries MBeanServer for all "Recovery" Mbeans.  These 
"Recovery" Mbeans will provide references to their XAResources.
  | 5. RecoveryManager performs recovery.
  | 6. RecoveryManager tells all "Recovery" Mbeans that they are finished with 
the XAResources.
  | 
  | The RecoveryManager MBean can do this at start(). Just rename existing log 
files, or use a timestamp in the logfile name. Anyways...I think it would be 
better to have a specific logger than a DB. That way, we have ultimate speed, 
and we can have/control as many log files as we want.
  | 

I like the idea of a RecoverableMBean. That is similar to what OTS provides.

That has a couple of problems:

1) One of the MBeans might have failed to start or is no longer deployed.
The recovery could be incomplete/inaccurate unless there is a predefined list
of expected resources.
2) Renaming log files is bad. It is not a repeatable process. What happens if 
it fails again
during recovery.
3) Timestamps are bad, especially if you want to move the log to a different
server with a uncorrelated up clock.

The reason for using the DB is as follows:
a) It is usually a part of the transaction already
b) It is easy to implement
c) It fixes the final problem for a local db
i.e. when using the last resource gambit, there is no way to know whether
the db commit worked or failed if the AS fails during the DB commit invocation.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3860451#3860451

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3860451


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to