1 Reply Latest reply on Jan 20, 2003 8:36 AM by David Jencks

    transaction-support tag in ra.xml

    Rick Gibbs Newbie

      While trying to deploy coherence in 3.2b2 I ran into some problems accessing the cache which appeared to deploy correctly. When I asked tangosol about this issue, the response I got is below. I was wondering if this is something that others have seen or could shed a little light on:


      Currently the Coherence JCA adapter only supports local transactions, which is reflected in the deployment descriptor "ra.xml":

      <transaction-support>LocalTransaction</transaction-support>

      Following is a quote from section 6.3.1 of J2EE Connector Architecture Specification:

      "Depending on the transaction support level of a resource adapter, these methods should raise appropriate exceptions. For example, if the transaction support level for a resource adapter is NoTransaction, an invocation of get XAResource method should throw a ResourceException."

      According to this requirement Coherence adapter throws the
      javax.resource.NotSupportedException (extending javax.resource.ResourceException) that you see.

      It looks like JBoss ignores the value of "transaction-support" element.

      I found a couple of threads on the JBoss forum that seem to point out to similar problems (some people indicate that the LocalTransaction support was working in 2.4.4 an broke in 3.0)

        • 1. javassist tries to call a method with wrong return type
          David Jencks Master

          Hello,

          I get the following exception:

          Exception in thread "main" java.lang.NoSuchMethodError: mycompany.Type.getValue()Ljava/lang/String;

          mycompany.Type is only

          public interface Type
          {
          Object getValue();
          }

          The generated javassist method body is the following:

          {
          mycompany.Type type = getType();
          Object value = type.getValue();
          return ($r)value;
          }

          the return type of the method is String, so ($r) should do a cast to String.

          Where is the error?
          Why tries Javassist to call the getValue()Ljava/lang/String method instead of getValue()Ljava/lang/Object
          ?

          Thanks,
          Norbi