1 2 Previous Next 15 Replies Latest reply on Sep 25, 2007 10:17 AM by ejb3workshop

    Non-serializable XAResource

    teknokrat

      Like several people now, once we moved over to jboss 4.2.1 we have started to receive the following warning

      WARN [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource < 131075, 27, 25, 1-a403c97:4bf:46d7dd49:f82da403c97:4bf:46d7dd49:f842
      


      This is against a postgresql database. I have read the other forum articles on this and the wiki pages on transaction recovery, but am still none the wiser as to what to do about it.

      Some questions I have are:
      1. is this a postgresql driver issue? If postgresql made its XAResource class serializable would this problem go away?

      2. How do i find out where in my code the transaction fails. The warning fills up the logs and i've no idea what i am looking for as to the cause.

      3. Can i disable this behaviour? I need the data access to be transactional but in the event of failure, its ok for everything to rollback. Can i switch the recovery attempt off?

      cheers

        • 1. Re: Non-serializable XAResource
          marklittle

          Read the JBossTS wiki and you will find the answer.

          • 2. Re: Non-serializable XAResource
            teknokrat

            yeah, right, because the page on this problem in the wiki is so damn informative. Thats the problem, I have looked all over the wiki and searched the forum - but there is nothing to help you troubleshoot the issue, other than write your own recovery manager. Here's the thing, i don't even understand whose XAResource is non serializable, what am I actually trying to recover?

            For example, are there any log settings I can set to be able to trace the transactions occuring in jboss?

            • 3. Re: Non-serializable XAResource
              marklittle

              Read the wiki. Follow the instructions. Read the documentation. There's a complete guide on Failure Recovery. If all else fails, get a support contract.

              • 4. Re: Non-serializable XAResource
                marklittle

                BTW, if you think you need to write your own recovery manager then you clearly have not read the documentation or the wiki.

                • 5. Re: Non-serializable XAResource
                  marklittle

                   

                  "teknokrat" wrote:
                  For example, are there any log settings I can set to be able to trace the transactions occuring in jboss?


                  Yes, there are lots of log settings. But once again: RTFM.

                  • 6. Re: Non-serializable XAResource
                    marklittle

                     

                    "teknokrat" wrote:
                    Here's the thing, i don't even understand whose XAResource is non serializable, what am I actually trying to recover?


                    I'll take a wild stab in the dark because a) I'm on vacation and b) these are best-effort forums for free support: I'd say it's probably from Postgress unless you're using some other XA RM, such as JMS.

                    • 7. Re: Non-serializable XAResource
                      teknokrat

                      Actually, there are messaging queues involved, but we are using jboss messaging so I assumed that the problem couldn't come from there. Is that wrong?

                      • 8. Re: Non-serializable XAResource
                        marklittle

                         

                        "teknokrat" wrote:
                        Actually, there are messaging queues involved, but we are using jboss messaging so I assumed that the problem couldn't come from there. Is that wrong?


                        Yes, that'd be a valid assumption (unless there's a bug in JBM). However, if you're using JBM in the same transaction as Postgress then that'll be why you're seeing XA being used.

                        Read the wiki, the failure recovery guide and then the JTA programmers guide. Look for stuff about XAResourceRecovery and JDBCXARecovery.

                        • 9. Re: Non-serializable XAResource
                          teknokrat

                          ok, thanks.

                          one last question though ;)

                          I am trying to get the jts tools running from the standalone distribution. That is run-tools.bat. I have set all the variables JBOSSTS_HOME, JACORB_HOME, etc and generally followed the release docs. However, on startup, I still get

                          Exception in thread "main" java.lang.ExceptionInInitializerError: [com.arjuna.orbportability.orb.core.ORB.caughtexceptio
                          n] ORB specific class creation failed with: {0}
                           at com.arjuna.orbportability.orb.core.ORB.initialise(ORB.java:191)
                           at com.arjuna.orbportability.orb.core.ORB.<init>(ORB.java:62)
                           at com.arjuna.orbportability.ORB.<init>(ORB.java:471)
                           at com.arjuna.orbportability.ORB.getInstance(ORB.java:458)
                           at com.arjuna.ats.tools.objectstorebrowser.stateviewers.viewers.abstractrecord.ResourceRecordViewer.<init>(Resou
                          rceRecordViewer.java:71)
                           at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                           at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                           at java.lang.reflect.Constructor.newInstance(Unknown Source)
                           at java.lang.Class.newInstance0(Unknown Source)
                           at java.lang.Class.newInstance(Unknown Source)
                           at com.arjuna.ats.tools.objectstorebrowser.PluginClassloader.<init>(PluginClassloader.java:123)
                           at com.arjuna.ats.tools.objectstorebrowser.stateviewers.StateViewersRepository.initialiseRepository(StateViewers
                          Repository.java:106)
                           at com.arjuna.ats.tools.objectstorebrowser.ObjectStoreBrowserPlugin.initialise(ObjectStoreBrowserPlugin.java:81)
                          
                           at com.arjuna.ats.tools.toolsframework.ArjunaToolsFramework.loadConfiguration(ArjunaToolsFramework.java:445)
                           at com.arjuna.ats.tools.toolsframework.ArjunaToolsFramework.<init>(ArjunaToolsFramework.java:114)
                           at com.arjuna.ats.tools.toolsframework.ArjunaToolsFramework.main(ArjunaToolsFramework.java:522)
                          


                          where do I go from here?

                          cheers

                          • 10. Re: Non-serializable XAResource
                            marklittle

                            What's your OS and setup?

                            • 11. Re: Non-serializable XAResource
                              teknokrat

                              I am running on windows XP, java 6 and have jboss 4.2.1

                              • 12. Re: Non-serializable XAResource
                                marklittle

                                Try it with Java 5: we don't support Java 6 at the moment. It may not make any difference, but at least it's an environment we can check.

                                • 13. Re: Non-serializable XAResource
                                  teknokrat

                                  No, that didn't help

                                  • 14. Re: Non-serializable XAResource
                                    marklittle

                                    OK, but at least I can try to duplicate it ;-)

                                    1 2 Previous Next