You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Kevan Miller <ke...@gmail.com> on 2007/04/23 10:09:37 UTC

Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

David Blevins,
This change has caused some breakage in Geronimo TCK testing.

Would be great if you could have a look...

--kevan

On Apr 19, 2007, at 11:42 PM, dblevins@apache.org wrote:

> Author: dblevins
> Date: Thu Apr 19 20:42:11 2007
> New Revision: 530626
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=530626
> Log:
> Support for one proxy per business interface.  more to come.
>
> Modified:
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/ 
> EjbLocalReferenceInfo.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/CoreDeploymentInfo.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/stateful/StatefulContainer.java
>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/stateful/ 
> StatefulContainerManagedTxPolicy.java
>     incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/ 
> java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/assembler/classic/ 
> EjbLocalReferenceInfo.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/assembler/ 
> classic/EjbLocalReferenceInfo.java? 
> view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/ 
> EjbLocalReferenceInfo.java (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/ 
> EjbLocalReferenceInfo.java Thu Apr 19 20:42:11 2007
> @@ -20,6 +20,7 @@
>
>      public String referenceName;
>      public String homeType;
> +    public String localType;
>      public String ejbDeploymentId;
>
>      public ReferenceLocationInfo location;
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/assembler/ 
> classic/JndiBuilder.java?view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/JndiBuilder.java  
> (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/JndiBuilder.java Thu  
> Apr 19 20:42:11 2007
> @@ -143,7 +143,10 @@
>              if (homeInterface != null) {
>                  String name = strategy.getName(deployment,  
> homeInterface, JndiNameStrategy.Interface.REMOTE_HOME);
>                  bindings.add(name);
> -                context.bind("openejb/ejb/" + name, new  
> ObjectReference(deployment.getEJBHome()));
> +                ObjectReference ref = new ObjectReference 
> (deployment.getEJBHome());
> +                context.bind("openejb/ejb/" + name, ref);
> +                name = deployment.getDeploymentID() + "/" +  
> deployment.getRemoteInterface().getName();
> +                context.bind("openejb/Deployment/" + name, ref);
>              }
>          } catch (NamingException e) {
>              throw new RuntimeException("Unable to bind home  
> interface for deployment " + id, e);
> @@ -154,7 +157,9 @@
>              if (localHomeInterface != null) {
>                  String name = strategy.getName(deployment,  
> localHomeInterface, JndiNameStrategy.Interface.LOCAL_HOME);
>                  bindings.add(name);
> -                context.bind("openejb/ejb/" + name, new  
> ObjectReference(deployment.getEJBLocalHome()));
> +                ObjectReference ref = new ObjectReference 
> (deployment.getEJBLocalHome());
> +                context.bind("openejb/ejb/" + name, ref);
> +                context.bind("openejb/Deployment/" +  
> deployment.getDeploymentID() + "/" + deployment.getLocalInterface 
> ().getName(), ref);
>              }
>          } catch (NamingException e) {
>              throw new RuntimeException("Unable to bind local  
> interface for deployment " + id, e);
> @@ -167,6 +172,11 @@
>                  DeploymentInfo.BusinessLocalHome businessLocalHome  
> = deployment.getBusinessLocalHome();
>                  bindings.add(name);
>                  context.bind("openejb/ejb/" + name, new  
> BusinessLocalReference(businessLocalHome));
> +
> +                for (Class interfce :  
> deployment.getBusinessLocalInterfaces()) {
> +                    DeploymentInfo.BusinessLocalHome home =  
> deployment.getBusinessLocalHome(asList(interfce));
> +                    context.bind("openejb/Deployment/" +  
> deployment.getDeploymentID() + "/" + interfce.getName(), new  
> BusinessLocalReference(home));
> +                }
>              }
>          } catch (NamingException e) {
>              throw new RuntimeException("Unable to bind business  
> local interface for deployment " + id, e);
> @@ -178,7 +188,13 @@
>                  String name = strategy.getName(deployment,  
> businessRemoteInterface, JndiNameStrategy.Interface.BUSINESS_REMOTE);
>                  DeploymentInfo.BusinessRemoteHome  
> businessRemoteHome = deployment.getBusinessRemoteHome();
>                  bindings.add(name);
> -                context.bind("openejb/ejb/" + name, new  
> BusinessRemoteReference(businessRemoteHome));
> +                BusinessRemoteReference ref = new  
> BusinessRemoteReference(businessRemoteHome);
> +                context.bind("openejb/ejb/" + name, ref);
> +
> +                for (Class interfce :  
> deployment.getBusinessRemoteInterfaces()) {
> +                    DeploymentInfo.BusinessRemoteHome home =  
> deployment.getBusinessRemoteHome(asList(interfce));
> +                    context.bind("openejb/Deployment/" +  
> deployment.getDeploymentID() + "/" + interfce.getName(), new  
> BusinessRemoteReference(home));
> +                }
>              }
>          } catch (NamingException e) {
>              throw new RuntimeException("Unable to bind business  
> remote deployment in jndi.", e);
> @@ -204,6 +220,12 @@
>          } catch (NamingException e) {
>              throw new RuntimeException("Unable to bind mdb  
> destination in jndi.", e);
>          }
> +    }
> +
> +    private static List<Class> asList(Class interfce) {
> +        List<Class> list = new ArrayList<Class>();
> +        list.add(interfce);
> +        return list;
>      }
>
>      protected static final class Bindings {
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/assembler/ 
> classic/JndiEncBuilder.java?view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java  
> (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java  
> Thu Apr 19 20:42:11 2007
> @@ -183,22 +183,11 @@
>              if (referenceInfo.location != null) {
>                  reference = buildReferenceLocation 
> (referenceInfo.location);
>              } else {
> -                // TODO: Before JndiNameStrategy can be used, this  
> assumption has to be updated
> -                if (referenceInfo.homeType == null){
> -                    String jndiName = "java:openejb/ejb/" +  
> referenceInfo.ejbDeploymentId + "BusinessRemote";
> -                    if (useCrossClassLoaderRef &&  
> referenceInfo.externalReference) {
> -                        reference = new  
> CrossClassLoaderJndiReference(jndiName);
> -                    } else {
> -                        reference = new IntraVmJndiReference 
> (jndiName);
> -                    }
> +                String jndiName = "java:openejb/Deployment/" +  
> referenceInfo.ejbDeploymentId + "/" + referenceInfo.remoteType;
> +                if (useCrossClassLoaderRef &&  
> referenceInfo.externalReference) {
> +                    reference = new CrossClassLoaderJndiReference 
> (jndiName);
>                  } else {
> -                    // TODO: Before JndiNameStrategy can be used,  
> this assumption has to be updated
> -                    String jndiName = "java:openejb/ejb/" +  
> referenceInfo.ejbDeploymentId;
> -                    if (useCrossClassLoaderRef &&  
> referenceInfo.externalReference) {
> -                        reference = new  
> CrossClassLoaderJndiReference(jndiName);
> -                    } else {
> -                        reference = new IntraVmJndiReference 
> (jndiName);
> -                    }
> +                    reference = new IntraVmJndiReference(jndiName);
>                  }
>              }
>              bindings.put(normalize(referenceInfo.referenceName),  
> reference);
> @@ -210,12 +199,8 @@
>
>              if (referenceInfo.location != null) {
>                  reference = buildReferenceLocation 
> (referenceInfo.location);
> -            } else if (referenceInfo.homeType == null){
> -                // TODO: Before JndiNameStrategy can be used, this  
> assumption has to be updated
> -                String jndiName = "java:openejb/ejb/" +  
> referenceInfo.ejbDeploymentId + "BusinessLocal";
> -                reference = new IntraVmJndiReference(jndiName);
>              } else {
> -                String jndiName = "java:openejb/ejb/" +  
> referenceInfo.ejbDeploymentId + "Local";
> +                String jndiName = "java:openejb/Deployment/" +  
> referenceInfo.ejbDeploymentId + "/" + referenceInfo.localType;
>                  reference = new IntraVmJndiReference(jndiName);
>              }
>              bindings.put(normalize(referenceInfo.referenceName),  
> reference);
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/config/ 
> JndiEncInfoBuilder.java?view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/config/JndiEncInfoBuilder.java (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/config/JndiEncInfoBuilder.java Thu Apr  
> 19 20:42:11 2007
> @@ -361,6 +361,7 @@
>              EjbLocalReferenceInfo info = new EjbLocalReferenceInfo();
>
>              info.homeType = ejb.getLocalHome();
> +            info.localType = ejb.getLocal();
>              info.referenceName = ejb.getEjbRefName();
>
>              // assign location to a global jndi name
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/core/ 
> CoreDeploymentInfo.java?view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/CoreDeploymentInfo.java (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/CoreDeploymentInfo.java Thu Apr  
> 19 20:42:11 2007
> @@ -506,7 +506,7 @@
>              }
>          }
>
> -        return (BusinessLocalHome)  
> EjbHomeProxyHandler.createHomeProxy(this,  
> InterfaceType.BUSINESS_LOCAL_HOME);
> +        return (BusinessLocalHome)  
> EjbHomeProxyHandler.createHomeProxy(this,  
> InterfaceType.BUSINESS_LOCAL_HOME, interfaces);
>      }
>
>      public BusinessRemoteHome getBusinessRemoteHome() {
> @@ -526,7 +526,7 @@
>              }
>          }
>
> -        return (BusinessRemoteHome)  
> EjbHomeProxyHandler.createHomeProxy(this,  
> InterfaceType.BUSINESS_REMOTE_HOME);
> +        return (BusinessRemoteHome)  
> EjbHomeProxyHandler.createHomeProxy(this,  
> InterfaceType.BUSINESS_REMOTE_HOME, interfaces);
>      }
>
>      public String getMessageDestination() {
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/core/ivm/ 
> EjbHomeProxyHandler.java?view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java  
> (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java Thu  
> Apr 19 20:42:11 2007
> @@ -97,7 +97,7 @@
>          return createHomeProxy(deploymentInfo, interfaceType, null);
>      }
>
> -    public static Object createHomeProxy(DeploymentInfo  
> deploymentInfo, InterfaceType interfaceType, ArrayList<Class>  
> objectInterfaces) {
> +    public static Object createHomeProxy(DeploymentInfo  
> deploymentInfo, InterfaceType interfaceType, List<Class>  
> objectInterfaces) {
>          if (!interfaceType.isHome()) throw new  
> IllegalArgumentException("InterfaceType is not a Home type: " +  
> interfaceType);
>
>          try {
> @@ -105,7 +105,8 @@
>
>              List<Class> proxyInterfaces = new ArrayList<Class>(2);
>
> -            proxyInterfaces.add(deploymentInfo.getInterface 
> (interfaceType));
> +            Class homeInterface = deploymentInfo.getInterface 
> (interfaceType);
> +            proxyInterfaces.add(homeInterface);
>              proxyInterfaces.add(IntraVmProxy.class);
>
>              return ProxyManager.newProxyInstance 
> (proxyInterfaces.toArray(new Class[]{}), handler);
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/core/ 
> stateful/StatefulContainer.java? 
> view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/stateful/StatefulContainer.java  
> (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/stateful/StatefulContainer.java  
> Thu Apr 19 20:42:11 2007
> @@ -39,6 +39,7 @@
>  import org.apache.openejb.OpenEJBException;
>  import org.apache.openejb.ProxyInfo;
>  import org.apache.openejb.RpcContainer;
> +import org.apache.openejb.InvalidateReferenceException;
>  import org.apache.openejb.core.CoreDeploymentInfo;
>  import org.apache.openejb.core.Operation;
>  import org.apache.openejb.core.ThreadContext;
> @@ -315,6 +316,8 @@
>                  InterceptorStack interceptorStack = new  
> InterceptorStack(instance.bean, runMethod, Operation.REMOVE,  
> interceptors, instance.interceptors);
>                  _invoke(callMethod, interceptorStack, args,  
> instance, callContext);
>
> +            } catch(InvalidateReferenceException e){
> +                throw e;
>              } catch(ApplicationException e){
>                  retain = deploymentInfo.retainIfExeption(runMethod);
>                  throw e;
>
> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
> src/main/java/org/apache/openejb/core/stateful/ 
> StatefulContainerManagedTxPolicy.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> container/openejb-core/src/main/java/org/apache/openejb/core/ 
> stateful/StatefulContainerManagedTxPolicy.java? 
> view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/stateful/ 
> StatefulContainerManagedTxPolicy.java (original)
> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
> main/java/org/apache/openejb/core/stateful/ 
> StatefulContainerManagedTxPolicy.java Thu Apr 19 20:42:11 2007
> @@ -54,7 +54,10 @@
>      public void handleSystemException(Throwable sysException,  
> Object instance, TransactionContext context) throws  
> ApplicationException, SystemException {
>          try {
>              policy.handleSystemException(sysException, instance,  
> context);
> +        } catch (InvalidateReferenceException e) {
> +            throw e;
>          } catch (ApplicationException e) {
> +            // DMB: Not sure we want this here
>              throw new InvalidateReferenceException(e.getRootCause());
>          }
>      }
>
> Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/ 
> main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ 
> JndiRequestHandler.java?view=diff&rev=530626&r1=530625&r2=530626
> ====================================================================== 
> ========
> --- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/ 
> java/org/apache/openejb/server/ejbd/JndiRequestHandler.java (original)
> +++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/ 
> java/org/apache/openejb/server/ejbd/JndiRequestHandler.java Thu Apr  
> 19 20:42:11 2007
> @@ -162,7 +162,7 @@
>                          deployment.getPrimaryKeyClass(),
>                          deployment.getComponentType().toString(),
>                          deploymentID,
> -                        -1, deployment.getBusinessRemoteInterfaces 
> ());
> +                        -1, proxyInfo.getInterfaces());
>                  Object[] data = {metaData, proxyInfo.getPrimaryKey 
> ()};
>                  res.setResult(data);
>                  break;
> @@ -172,11 +172,11 @@
>                  if (property.equalsIgnoreCase("remotable")) {
>                      res.setResponseCode 
> (ResponseCodes.JNDI_BUSINESS_OBJECT);
>                      EJBMetaDataImpl metaData = new EJBMetaDataImpl 
> (null,
> -                            deployment.getBusinessLocalInterface(),
> +                            null,
>                              deployment.getPrimaryKeyClass(),
>                              deployment.getComponentType().toString(),
>                              deploymentID,
> -                            -1, null);
> +                            -1, proxyInfo.getInterfaces());
>                      Object[] data = {metaData,  
> proxyInfo.getPrimaryKey()};
>                      res.setResult(data);
>                  } else {
>
>


Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by Kevan Miller <ke...@gmail.com>.
On Apr 23, 2007, at 6:31 AM, David Blevins wrote:

>
> On Apr 23, 2007, at 1:09 AM, Kevan Miller wrote:
>
>> David Blevins,
>> This change has caused some breakage in Geronimo TCK testing.
>>
>> Would be great if you could have a look...
>
> You may have missed the commit around 10pm fixing this.  Update  
> OpenEJB and Geronimo it should be fixed.

Yep I hadn't seen it... Because I started looking at the problem  
before then...

Thanks for fixing.

--kevan

Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by Rick McGuire <ri...@gmail.com>.
David Blevins wrote:
> Ok, this is definitely fixed now and tested.  You won't need to update 
> OpenEJB if you have yesterday's fix, but you will need to update your 
> G tree to get my last two commits.
My problems with the naming exceptions finally appear to be fixed.

Rick

>
> -David
>
> On Apr 23, 2007, at 6:59 AM, Kevan Miller wrote:
>
>>
>> On Apr 23, 2007, at 9:05 AM, Rick McGuire wrote:
>>
>>> Unfortunately, I believe it was the 10PM fix that caused the TCK 
>>> breakages.  The problems first appeared for me after I rebuilt 
>>> saturday morning, and are still there this morning.
>>
>> The 10 PM fix that David is referring to is Geronimo RC 531336 which 
>> was committed at 10PM left-coast time last night (Sunday) or 1 AM 
>> right-coast time. Unfortunately, RC 531336 doesn't fix the problem. 
>> David did you verify the fix by testing?
>>
>> Rick,
>> I think you'll find that if you revert 530626 in OpenEJB, the problem 
>> goes away. You'd probably have to revert 531336 from Geronimo, also.
>>
>> --kevan
>>
>>
>
>


Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by David Blevins <da...@visi.com>.
On Apr 23, 2007, at 8:40 PM, Kevan Miller wrote:

>
> On Apr 23, 2007, at 6:14 PM, David Blevins wrote:
>
>> Ok, this is definitely fixed now and tested.  You won't need to  
>> update OpenEJB if you have yesterday's fix, but you will need to  
>> update your G tree to get my last two commits.
>
> Unfortunately, looks like we're still broken. Rick reported that he  
> was still seeing errors, also...
>

Looks like my fix worked for business interfaces but not old-style  
remote/home.  I've built/tested/checked-in another patch.

The tck smoke tests don't all pass for me due to a seemingly "setup"  
related issue -- more on the tck list about that.

-David


Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by Kevan Miller <ke...@gmail.com>.
On Apr 23, 2007, at 6:14 PM, David Blevins wrote:

> Ok, this is definitely fixed now and tested.  You won't need to  
> update OpenEJB if you have yesterday's fix, but you will need to  
> update your G tree to get my last two commits.

Unfortunately, looks like we're still broken. Rick reported that he  
was still seeing errors, also...

--kevan 

Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by David Blevins <da...@visi.com>.
Ok, this is definitely fixed now and tested.  You won't need to  
update OpenEJB if you have yesterday's fix, but you will need to  
update your G tree to get my last two commits.

-David

On Apr 23, 2007, at 6:59 AM, Kevan Miller wrote:

>
> On Apr 23, 2007, at 9:05 AM, Rick McGuire wrote:
>
>> Unfortunately, I believe it was the 10PM fix that caused the TCK  
>> breakages.  The problems first appeared for me after I rebuilt  
>> saturday morning, and are still there this morning.
>
> The 10 PM fix that David is referring to is Geronimo RC 531336  
> which was committed at 10PM left-coast time last night (Sunday) or  
> 1 AM right-coast time. Unfortunately, RC 531336 doesn't fix the  
> problem. David did you verify the fix by testing?
>
> Rick,
> I think you'll find that if you revert 530626 in OpenEJB, the  
> problem goes away. You'd probably have to revert 531336 from  
> Geronimo, also.
>
> --kevan
>
>


Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by David Blevins <da...@visi.com>.
Ok, this is definitely fixed now and tested.  You won't need to  
update OpenEJB if you have yesterday's fix, but you will need to  
update your G tree to get my last two commits.

-David

On Apr 23, 2007, at 6:59 AM, Kevan Miller wrote:

>
> On Apr 23, 2007, at 9:05 AM, Rick McGuire wrote:
>
>> Unfortunately, I believe it was the 10PM fix that caused the TCK  
>> breakages.  The problems first appeared for me after I rebuilt  
>> saturday morning, and are still there this morning.
>
> The 10 PM fix that David is referring to is Geronimo RC 531336  
> which was committed at 10PM left-coast time last night (Sunday) or  
> 1 AM right-coast time. Unfortunately, RC 531336 doesn't fix the  
> problem. David did you verify the fix by testing?
>
> Rick,
> I think you'll find that if you revert 530626 in OpenEJB, the  
> problem goes away. You'd probably have to revert 531336 from  
> Geronimo, also.
>
> --kevan
>
>


Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by Kevan Miller <ke...@gmail.com>.
On Apr 23, 2007, at 9:05 AM, Rick McGuire wrote:

> Unfortunately, I believe it was the 10PM fix that caused the TCK  
> breakages.  The problems first appeared for me after I rebuilt  
> saturday morning, and are still there this morning.

The 10 PM fix that David is referring to is Geronimo RC 531336 which  
was committed at 10PM left-coast time last night (Sunday) or 1 AM  
right-coast time. Unfortunately, RC 531336 doesn't fix the problem.  
David did you verify the fix by testing?

Rick,
I think you'll find that if you revert 530626 in OpenEJB, the problem  
goes away. You'd probably have to revert 531336 from Geronimo, also.

--kevan



Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by Rick McGuire <ri...@gmail.com>.
Unfortunately, I believe it was the 10PM fix that caused the TCK 
breakages.  The problems first appeared for me after I rebuilt saturday 
morning, and are still there this morning.

Rick


David Blevins wrote:
>
> On Apr 23, 2007, at 1:09 AM, Kevan Miller wrote:
>
>> David Blevins,
>> This change has caused some breakage in Geronimo TCK testing.
>>
>> Would be great if you could have a look...
>
> You may have missed the commit around 10pm fixing this.  Update 
> OpenEJB and Geronimo it should be fixed.
>
> -David
>
>
>> --kevan
>>
>> On Apr 19, 2007, at 11:42 PM, dblevins@apache.org wrote:
>>
>>> Author: dblevins
>>> Date: Thu Apr 19 20:42:11 2007
>>> New Revision: 530626
>>>
>>> URL: http://svn.apache.org/viewvc?view=rev&rev=530626
>>> Log:
>>> Support for one proxy per business interface.  more to come.
>>>
>>> Modified:
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbLocalReferenceInfo.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainerManagedTxPolicy.java 
>>>
>>>     
>>> incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java 
>>>
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbLocalReferenceInfo.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbLocalReferenceInfo.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbLocalReferenceInfo.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbLocalReferenceInfo.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -20,6 +20,7 @@
>>>
>>>      public String referenceName;
>>>      public String homeType;
>>> +    public String localType;
>>>      public String ejbDeploymentId;
>>>
>>>      public ReferenceLocationInfo location;
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -143,7 +143,10 @@
>>>              if (homeInterface != null) {
>>>                  String name = strategy.getName(deployment, 
>>> homeInterface, JndiNameStrategy.Interface.REMOTE_HOME);
>>>                  bindings.add(name);
>>> -                context.bind("openejb/ejb/" + name, new 
>>> ObjectReference(deployment.getEJBHome()));
>>> +                ObjectReference ref = new 
>>> ObjectReference(deployment.getEJBHome());
>>> +                context.bind("openejb/ejb/" + name, ref);
>>> +                name = deployment.getDeploymentID() + "/" + 
>>> deployment.getRemoteInterface().getName();
>>> +                context.bind("openejb/Deployment/" + name, ref);
>>>              }
>>>          } catch (NamingException e) {
>>>              throw new RuntimeException("Unable to bind home 
>>> interface for deployment " + id, e);
>>> @@ -154,7 +157,9 @@
>>>              if (localHomeInterface != null) {
>>>                  String name = strategy.getName(deployment, 
>>> localHomeInterface, JndiNameStrategy.Interface.LOCAL_HOME);
>>>                  bindings.add(name);
>>> -                context.bind("openejb/ejb/" + name, new 
>>> ObjectReference(deployment.getEJBLocalHome()));
>>> +                ObjectReference ref = new 
>>> ObjectReference(deployment.getEJBLocalHome());
>>> +                context.bind("openejb/ejb/" + name, ref);
>>> +                context.bind("openejb/Deployment/" + 
>>> deployment.getDeploymentID() + "/" + 
>>> deployment.getLocalInterface().getName(), ref);
>>>              }
>>>          } catch (NamingException e) {
>>>              throw new RuntimeException("Unable to bind local 
>>> interface for deployment " + id, e);
>>> @@ -167,6 +172,11 @@
>>>                  DeploymentInfo.BusinessLocalHome businessLocalHome 
>>> = deployment.getBusinessLocalHome();
>>>                  bindings.add(name);
>>>                  context.bind("openejb/ejb/" + name, new 
>>> BusinessLocalReference(businessLocalHome));
>>> +
>>> +                for (Class interfce : 
>>> deployment.getBusinessLocalInterfaces()) {
>>> +                    DeploymentInfo.BusinessLocalHome home = 
>>> deployment.getBusinessLocalHome(asList(interfce));
>>> +                    context.bind("openejb/Deployment/" + 
>>> deployment.getDeploymentID() + "/" + interfce.getName(), new 
>>> BusinessLocalReference(home));
>>> +                }
>>>              }
>>>          } catch (NamingException e) {
>>>              throw new RuntimeException("Unable to bind business 
>>> local interface for deployment " + id, e);
>>> @@ -178,7 +188,13 @@
>>>                  String name = strategy.getName(deployment, 
>>> businessRemoteInterface, JndiNameStrategy.Interface.BUSINESS_REMOTE);
>>>                  DeploymentInfo.BusinessRemoteHome 
>>> businessRemoteHome = deployment.getBusinessRemoteHome();
>>>                  bindings.add(name);
>>> -                context.bind("openejb/ejb/" + name, new 
>>> BusinessRemoteReference(businessRemoteHome));
>>> +                BusinessRemoteReference ref = new 
>>> BusinessRemoteReference(businessRemoteHome);
>>> +                context.bind("openejb/ejb/" + name, ref);
>>> +
>>> +                for (Class interfce : 
>>> deployment.getBusinessRemoteInterfaces()) {
>>> +                    DeploymentInfo.BusinessRemoteHome home = 
>>> deployment.getBusinessRemoteHome(asList(interfce));
>>> +                    context.bind("openejb/Deployment/" + 
>>> deployment.getDeploymentID() + "/" + interfce.getName(), new 
>>> BusinessRemoteReference(home));
>>> +                }
>>>              }
>>>          } catch (NamingException e) {
>>>              throw new RuntimeException("Unable to bind business 
>>> remote deployment in jndi.", e);
>>> @@ -204,6 +220,12 @@
>>>          } catch (NamingException e) {
>>>              throw new RuntimeException("Unable to bind mdb 
>>> destination in jndi.", e);
>>>          }
>>> +    }
>>> +
>>> +    private static List<Class> asList(Class interfce) {
>>> +        List<Class> list = new ArrayList<Class>();
>>> +        list.add(interfce);
>>> +        return list;
>>>      }
>>>
>>>      protected static final class Bindings {
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -183,22 +183,11 @@
>>>              if (referenceInfo.location != null) {
>>>                  reference = 
>>> buildReferenceLocation(referenceInfo.location);
>>>              } else {
>>> -                // TODO: Before JndiNameStrategy can be used, this 
>>> assumption has to be updated
>>> -                if (referenceInfo.homeType == null){
>>> -                    String jndiName = "java:openejb/ejb/" + 
>>> referenceInfo.ejbDeploymentId + "BusinessRemote";
>>> -                    if (useCrossClassLoaderRef && 
>>> referenceInfo.externalReference) {
>>> -                        reference = new 
>>> CrossClassLoaderJndiReference(jndiName);
>>> -                    } else {
>>> -                        reference = new 
>>> IntraVmJndiReference(jndiName);
>>> -                    }
>>> +                String jndiName = "java:openejb/Deployment/" + 
>>> referenceInfo.ejbDeploymentId + "/" + referenceInfo.remoteType;
>>> +                if (useCrossClassLoaderRef && 
>>> referenceInfo.externalReference) {
>>> +                    reference = new 
>>> CrossClassLoaderJndiReference(jndiName);
>>>                  } else {
>>> -                    // TODO: Before JndiNameStrategy can be used, 
>>> this assumption has to be updated
>>> -                    String jndiName = "java:openejb/ejb/" + 
>>> referenceInfo.ejbDeploymentId;
>>> -                    if (useCrossClassLoaderRef && 
>>> referenceInfo.externalReference) {
>>> -                        reference = new 
>>> CrossClassLoaderJndiReference(jndiName);
>>> -                    } else {
>>> -                        reference = new 
>>> IntraVmJndiReference(jndiName);
>>> -                    }
>>> +                    reference = new IntraVmJndiReference(jndiName);
>>>                  }
>>>              }
>>>              bindings.put(normalize(referenceInfo.referenceName), 
>>> reference);
>>> @@ -210,12 +199,8 @@
>>>
>>>              if (referenceInfo.location != null) {
>>>                  reference = 
>>> buildReferenceLocation(referenceInfo.location);
>>> -            } else if (referenceInfo.homeType == null){
>>> -                // TODO: Before JndiNameStrategy can be used, this 
>>> assumption has to be updated
>>> -                String jndiName = "java:openejb/ejb/" + 
>>> referenceInfo.ejbDeploymentId + "BusinessLocal";
>>> -                reference = new IntraVmJndiReference(jndiName);
>>>              } else {
>>> -                String jndiName = "java:openejb/ejb/" + 
>>> referenceInfo.ejbDeploymentId + "Local";
>>> +                String jndiName = "java:openejb/Deployment/" + 
>>> referenceInfo.ejbDeploymentId + "/" + referenceInfo.localType;
>>>                  reference = new IntraVmJndiReference(jndiName);
>>>              }
>>>              bindings.put(normalize(referenceInfo.referenceName), 
>>> reference);
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -361,6 +361,7 @@
>>>              EjbLocalReferenceInfo info = new EjbLocalReferenceInfo();
>>>
>>>              info.homeType = ejb.getLocalHome();
>>> +            info.localType = ejb.getLocal();
>>>              info.referenceName = ejb.getEjbRefName();
>>>
>>>              // assign location to a global jndi name
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -506,7 +506,7 @@
>>>              }
>>>          }
>>>
>>> -        return (BusinessLocalHome) 
>>> EjbHomeProxyHandler.createHomeProxy(this, 
>>> InterfaceType.BUSINESS_LOCAL_HOME);
>>> +        return (BusinessLocalHome) 
>>> EjbHomeProxyHandler.createHomeProxy(this, 
>>> InterfaceType.BUSINESS_LOCAL_HOME, interfaces);
>>>      }
>>>
>>>      public BusinessRemoteHome getBusinessRemoteHome() {
>>> @@ -526,7 +526,7 @@
>>>              }
>>>          }
>>>
>>> -        return (BusinessRemoteHome) 
>>> EjbHomeProxyHandler.createHomeProxy(this, 
>>> InterfaceType.BUSINESS_REMOTE_HOME);
>>> +        return (BusinessRemoteHome) 
>>> EjbHomeProxyHandler.createHomeProxy(this, 
>>> InterfaceType.BUSINESS_REMOTE_HOME, interfaces);
>>>      }
>>>
>>>      public String getMessageDestination() {
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -97,7 +97,7 @@
>>>          return createHomeProxy(deploymentInfo, interfaceType, null);
>>>      }
>>>
>>> -    public static Object createHomeProxy(DeploymentInfo 
>>> deploymentInfo, InterfaceType interfaceType, ArrayList<Class> 
>>> objectInterfaces) {
>>> +    public static Object createHomeProxy(DeploymentInfo 
>>> deploymentInfo, InterfaceType interfaceType, List<Class> 
>>> objectInterfaces) {
>>>          if (!interfaceType.isHome()) throw new 
>>> IllegalArgumentException("InterfaceType is not a Home type: " + 
>>> interfaceType);
>>>
>>>          try {
>>> @@ -105,7 +105,8 @@
>>>
>>>              List<Class> proxyInterfaces = new ArrayList<Class>(2);
>>>
>>> -            
>>> proxyInterfaces.add(deploymentInfo.getInterface(interfaceType));
>>> +            Class homeInterface = 
>>> deploymentInfo.getInterface(interfaceType);
>>> +            proxyInterfaces.add(homeInterface);
>>>              proxyInterfaces.add(IntraVmProxy.class);
>>>
>>>              return 
>>> ProxyManager.newProxyInstance(proxyInterfaces.toArray(new 
>>> Class[]{}), handler);
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -39,6 +39,7 @@
>>>  import org.apache.openejb.OpenEJBException;
>>>  import org.apache.openejb.ProxyInfo;
>>>  import org.apache.openejb.RpcContainer;
>>> +import org.apache.openejb.InvalidateReferenceException;
>>>  import org.apache.openejb.core.CoreDeploymentInfo;
>>>  import org.apache.openejb.core.Operation;
>>>  import org.apache.openejb.core.ThreadContext;
>>> @@ -315,6 +316,8 @@
>>>                  InterceptorStack interceptorStack = new 
>>> InterceptorStack(instance.bean, runMethod, Operation.REMOVE, 
>>> interceptors, instance.interceptors);
>>>                  _invoke(callMethod, interceptorStack, args, 
>>> instance, callContext);
>>>
>>> +            } catch(InvalidateReferenceException e){
>>> +                throw e;
>>>              } catch(ApplicationException e){
>>>                  retain = deploymentInfo.retainIfExeption(runMethod);
>>>                  throw e;
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainerManagedTxPolicy.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainerManagedTxPolicy.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainerManagedTxPolicy.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainerManagedTxPolicy.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -54,7 +54,10 @@
>>>      public void handleSystemException(Throwable sysException, 
>>> Object instance, TransactionContext context) throws 
>>> ApplicationException, SystemException {
>>>          try {
>>>              policy.handleSystemException(sysException, instance, 
>>> context);
>>> +        } catch (InvalidateReferenceException e) {
>>> +            throw e;
>>>          } catch (ApplicationException e) {
>>> +            // DMB: Not sure we want this here
>>>              throw new InvalidateReferenceException(e.getRootCause());
>>>          }
>>>      }
>>>
>>> Modified: 
>>> incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?view=diff&rev=530626&r1=530625&r2=530626 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java 
>>> (original)
>>> +++ 
>>> incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java 
>>> Thu Apr 19 20:42:11 2007
>>> @@ -162,7 +162,7 @@
>>>                          deployment.getPrimaryKeyClass(),
>>>                          deployment.getComponentType().toString(),
>>>                          deploymentID,
>>> -                        -1, deployment.getBusinessRemoteInterfaces());
>>> +                        -1, proxyInfo.getInterfaces());
>>>                  Object[] data = {metaData, proxyInfo.getPrimaryKey()};
>>>                  res.setResult(data);
>>>                  break;
>>> @@ -172,11 +172,11 @@
>>>                  if (property.equalsIgnoreCase("remotable")) {
>>>                      
>>> res.setResponseCode(ResponseCodes.JNDI_BUSINESS_OBJECT);
>>>                      EJBMetaDataImpl metaData = new 
>>> EJBMetaDataImpl(null,
>>> -                            deployment.getBusinessLocalInterface(),
>>> +                            null,
>>>                              deployment.getPrimaryKeyClass(),
>>>                              deployment.getComponentType().toString(),
>>>                              deploymentID,
>>> -                            -1, null);
>>> +                            -1, proxyInfo.getInterfaces());
>>>                      Object[] data = {metaData, 
>>> proxyInfo.getPrimaryKey()};
>>>                      res.setResult(data);
>>>                  } else {
>>>
>>>
>>
>
>


Re: svn commit: r530626 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/config/ container/openejb-core/src/main/java/org/apache/opene...

Posted by David Blevins <da...@visi.com>.
On Apr 23, 2007, at 1:09 AM, Kevan Miller wrote:

> David Blevins,
> This change has caused some breakage in Geronimo TCK testing.
>
> Would be great if you could have a look...

You may have missed the commit around 10pm fixing this.  Update  
OpenEJB and Geronimo it should be fixed.

-David


> --kevan
>
> On Apr 19, 2007, at 11:42 PM, dblevins@apache.org wrote:
>
>> Author: dblevins
>> Date: Thu Apr 19 20:42:11 2007
>> New Revision: 530626
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=530626
>> Log:
>> Support for one proxy per business interface.  more to come.
>>
>> Modified:
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/ 
>> EjbLocalReferenceInfo.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/CoreDeploymentInfo.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/stateful/StatefulContainer.java
>>     incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/stateful/ 
>> StatefulContainerManagedTxPolicy.java
>>     incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/ 
>> java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/assembler/classic/ 
>> EjbLocalReferenceInfo.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/assembler/ 
>> classic/EjbLocalReferenceInfo.java? 
>> view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/ 
>> EjbLocalReferenceInfo.java (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/ 
>> EjbLocalReferenceInfo.java Thu Apr 19 20:42:11 2007
>> @@ -20,6 +20,7 @@
>>
>>      public String referenceName;
>>      public String homeType;
>> +    public String localType;
>>      public String ejbDeploymentId;
>>
>>      public ReferenceLocationInfo location;
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/assembler/ 
>> classic/JndiBuilder.java?view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/JndiBuilder.java  
>> (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/JndiBuilder.java  
>> Thu Apr 19 20:42:11 2007
>> @@ -143,7 +143,10 @@
>>              if (homeInterface != null) {
>>                  String name = strategy.getName(deployment,  
>> homeInterface, JndiNameStrategy.Interface.REMOTE_HOME);
>>                  bindings.add(name);
>> -                context.bind("openejb/ejb/" + name, new  
>> ObjectReference(deployment.getEJBHome()));
>> +                ObjectReference ref = new ObjectReference 
>> (deployment.getEJBHome());
>> +                context.bind("openejb/ejb/" + name, ref);
>> +                name = deployment.getDeploymentID() + "/" +  
>> deployment.getRemoteInterface().getName();
>> +                context.bind("openejb/Deployment/" + name, ref);
>>              }
>>          } catch (NamingException e) {
>>              throw new RuntimeException("Unable to bind home  
>> interface for deployment " + id, e);
>> @@ -154,7 +157,9 @@
>>              if (localHomeInterface != null) {
>>                  String name = strategy.getName(deployment,  
>> localHomeInterface, JndiNameStrategy.Interface.LOCAL_HOME);
>>                  bindings.add(name);
>> -                context.bind("openejb/ejb/" + name, new  
>> ObjectReference(deployment.getEJBLocalHome()));
>> +                ObjectReference ref = new ObjectReference 
>> (deployment.getEJBLocalHome());
>> +                context.bind("openejb/ejb/" + name, ref);
>> +                context.bind("openejb/Deployment/" +  
>> deployment.getDeploymentID() + "/" + deployment.getLocalInterface 
>> ().getName(), ref);
>>              }
>>          } catch (NamingException e) {
>>              throw new RuntimeException("Unable to bind local  
>> interface for deployment " + id, e);
>> @@ -167,6 +172,11 @@
>>                  DeploymentInfo.BusinessLocalHome  
>> businessLocalHome = deployment.getBusinessLocalHome();
>>                  bindings.add(name);
>>                  context.bind("openejb/ejb/" + name, new  
>> BusinessLocalReference(businessLocalHome));
>> +
>> +                for (Class interfce :  
>> deployment.getBusinessLocalInterfaces()) {
>> +                    DeploymentInfo.BusinessLocalHome home =  
>> deployment.getBusinessLocalHome(asList(interfce));
>> +                    context.bind("openejb/Deployment/" +  
>> deployment.getDeploymentID() + "/" + interfce.getName(), new  
>> BusinessLocalReference(home));
>> +                }
>>              }
>>          } catch (NamingException e) {
>>              throw new RuntimeException("Unable to bind business  
>> local interface for deployment " + id, e);
>> @@ -178,7 +188,13 @@
>>                  String name = strategy.getName(deployment,  
>> businessRemoteInterface, JndiNameStrategy.Interface.BUSINESS_REMOTE);
>>                  DeploymentInfo.BusinessRemoteHome  
>> businessRemoteHome = deployment.getBusinessRemoteHome();
>>                  bindings.add(name);
>> -                context.bind("openejb/ejb/" + name, new  
>> BusinessRemoteReference(businessRemoteHome));
>> +                BusinessRemoteReference ref = new  
>> BusinessRemoteReference(businessRemoteHome);
>> +                context.bind("openejb/ejb/" + name, ref);
>> +
>> +                for (Class interfce :  
>> deployment.getBusinessRemoteInterfaces()) {
>> +                    DeploymentInfo.BusinessRemoteHome home =  
>> deployment.getBusinessRemoteHome(asList(interfce));
>> +                    context.bind("openejb/Deployment/" +  
>> deployment.getDeploymentID() + "/" + interfce.getName(), new  
>> BusinessRemoteReference(home));
>> +                }
>>              }
>>          } catch (NamingException e) {
>>              throw new RuntimeException("Unable to bind business  
>> remote deployment in jndi.", e);
>> @@ -204,6 +220,12 @@
>>          } catch (NamingException e) {
>>              throw new RuntimeException("Unable to bind mdb  
>> destination in jndi.", e);
>>          }
>> +    }
>> +
>> +    private static List<Class> asList(Class interfce) {
>> +        List<Class> list = new ArrayList<Class>();
>> +        list.add(interfce);
>> +        return list;
>>      }
>>
>>      protected static final class Bindings {
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/assembler/classic/ 
>> JndiEncBuilder.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/assembler/ 
>> classic/JndiEncBuilder.java?view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java  
>> (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java  
>> Thu Apr 19 20:42:11 2007
>> @@ -183,22 +183,11 @@
>>              if (referenceInfo.location != null) {
>>                  reference = buildReferenceLocation 
>> (referenceInfo.location);
>>              } else {
>> -                // TODO: Before JndiNameStrategy can be used,  
>> this assumption has to be updated
>> -                if (referenceInfo.homeType == null){
>> -                    String jndiName = "java:openejb/ejb/" +  
>> referenceInfo.ejbDeploymentId + "BusinessRemote";
>> -                    if (useCrossClassLoaderRef &&  
>> referenceInfo.externalReference) {
>> -                        reference = new  
>> CrossClassLoaderJndiReference(jndiName);
>> -                    } else {
>> -                        reference = new IntraVmJndiReference 
>> (jndiName);
>> -                    }
>> +                String jndiName = "java:openejb/Deployment/" +  
>> referenceInfo.ejbDeploymentId + "/" + referenceInfo.remoteType;
>> +                if (useCrossClassLoaderRef &&  
>> referenceInfo.externalReference) {
>> +                    reference = new CrossClassLoaderJndiReference 
>> (jndiName);
>>                  } else {
>> -                    // TODO: Before JndiNameStrategy can be used,  
>> this assumption has to be updated
>> -                    String jndiName = "java:openejb/ejb/" +  
>> referenceInfo.ejbDeploymentId;
>> -                    if (useCrossClassLoaderRef &&  
>> referenceInfo.externalReference) {
>> -                        reference = new  
>> CrossClassLoaderJndiReference(jndiName);
>> -                    } else {
>> -                        reference = new IntraVmJndiReference 
>> (jndiName);
>> -                    }
>> +                    reference = new IntraVmJndiReference(jndiName);
>>                  }
>>              }
>>              bindings.put(normalize(referenceInfo.referenceName),  
>> reference);
>> @@ -210,12 +199,8 @@
>>
>>              if (referenceInfo.location != null) {
>>                  reference = buildReferenceLocation 
>> (referenceInfo.location);
>> -            } else if (referenceInfo.homeType == null){
>> -                // TODO: Before JndiNameStrategy can be used,  
>> this assumption has to be updated
>> -                String jndiName = "java:openejb/ejb/" +  
>> referenceInfo.ejbDeploymentId + "BusinessLocal";
>> -                reference = new IntraVmJndiReference(jndiName);
>>              } else {
>> -                String jndiName = "java:openejb/ejb/" +  
>> referenceInfo.ejbDeploymentId + "Local";
>> +                String jndiName = "java:openejb/Deployment/" +  
>> referenceInfo.ejbDeploymentId + "/" + referenceInfo.localType;
>>                  reference = new IntraVmJndiReference(jndiName);
>>              }
>>              bindings.put(normalize(referenceInfo.referenceName),  
>> reference);
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/config/ 
>> JndiEncInfoBuilder.java?view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/config/JndiEncInfoBuilder.java  
>> (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/config/JndiEncInfoBuilder.java Thu  
>> Apr 19 20:42:11 2007
>> @@ -361,6 +361,7 @@
>>              EjbLocalReferenceInfo info = new EjbLocalReferenceInfo 
>> ();
>>
>>              info.homeType = ejb.getLocalHome();
>> +            info.localType = ejb.getLocal();
>>              info.referenceName = ejb.getEjbRefName();
>>
>>              // assign location to a global jndi name
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/core/ 
>> CoreDeploymentInfo.java?view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/CoreDeploymentInfo.java (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/CoreDeploymentInfo.java Thu Apr  
>> 19 20:42:11 2007
>> @@ -506,7 +506,7 @@
>>              }
>>          }
>>
>> -        return (BusinessLocalHome)  
>> EjbHomeProxyHandler.createHomeProxy(this,  
>> InterfaceType.BUSINESS_LOCAL_HOME);
>> +        return (BusinessLocalHome)  
>> EjbHomeProxyHandler.createHomeProxy(this,  
>> InterfaceType.BUSINESS_LOCAL_HOME, interfaces);
>>      }
>>
>>      public BusinessRemoteHome getBusinessRemoteHome() {
>> @@ -526,7 +526,7 @@
>>              }
>>          }
>>
>> -        return (BusinessRemoteHome)  
>> EjbHomeProxyHandler.createHomeProxy(this,  
>> InterfaceType.BUSINESS_REMOTE_HOME);
>> +        return (BusinessRemoteHome)  
>> EjbHomeProxyHandler.createHomeProxy(this,  
>> InterfaceType.BUSINESS_REMOTE_HOME, interfaces);
>>      }
>>
>>      public String getMessageDestination() {
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/core/ivm/ 
>> EjbHomeProxyHandler.java?view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java  
>> (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java Thu  
>> Apr 19 20:42:11 2007
>> @@ -97,7 +97,7 @@
>>          return createHomeProxy(deploymentInfo, interfaceType, null);
>>      }
>>
>> -    public static Object createHomeProxy(DeploymentInfo  
>> deploymentInfo, InterfaceType interfaceType, ArrayList<Class>  
>> objectInterfaces) {
>> +    public static Object createHomeProxy(DeploymentInfo  
>> deploymentInfo, InterfaceType interfaceType, List<Class>  
>> objectInterfaces) {
>>          if (!interfaceType.isHome()) throw new  
>> IllegalArgumentException("InterfaceType is not a Home type: " +  
>> interfaceType);
>>
>>          try {
>> @@ -105,7 +105,8 @@
>>
>>              List<Class> proxyInterfaces = new ArrayList<Class>(2);
>>
>> -            proxyInterfaces.add(deploymentInfo.getInterface 
>> (interfaceType));
>> +            Class homeInterface = deploymentInfo.getInterface 
>> (interfaceType);
>> +            proxyInterfaces.add(homeInterface);
>>              proxyInterfaces.add(IntraVmProxy.class);
>>
>>              return ProxyManager.newProxyInstance 
>> (proxyInterfaces.toArray(new Class[]{}), handler);
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/core/ 
>> stateful/StatefulContainer.java? 
>> view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/stateful/StatefulContainer.java  
>> (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/stateful/StatefulContainer.java  
>> Thu Apr 19 20:42:11 2007
>> @@ -39,6 +39,7 @@
>>  import org.apache.openejb.OpenEJBException;
>>  import org.apache.openejb.ProxyInfo;
>>  import org.apache.openejb.RpcContainer;
>> +import org.apache.openejb.InvalidateReferenceException;
>>  import org.apache.openejb.core.CoreDeploymentInfo;
>>  import org.apache.openejb.core.Operation;
>>  import org.apache.openejb.core.ThreadContext;
>> @@ -315,6 +316,8 @@
>>                  InterceptorStack interceptorStack = new  
>> InterceptorStack(instance.bean, runMethod, Operation.REMOVE,  
>> interceptors, instance.interceptors);
>>                  _invoke(callMethod, interceptorStack, args,  
>> instance, callContext);
>>
>> +            } catch(InvalidateReferenceException e){
>> +                throw e;
>>              } catch(ApplicationException e){
>>                  retain = deploymentInfo.retainIfExeption(runMethod);
>>                  throw e;
>>
>> Modified: incubator/openejb/trunk/openejb3/container/openejb-core/ 
>> src/main/java/org/apache/openejb/core/stateful/ 
>> StatefulContainerManagedTxPolicy.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> container/openejb-core/src/main/java/org/apache/openejb/core/ 
>> stateful/StatefulContainerManagedTxPolicy.java? 
>> view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/stateful/ 
>> StatefulContainerManagedTxPolicy.java (original)
>> +++ incubator/openejb/trunk/openejb3/container/openejb-core/src/ 
>> main/java/org/apache/openejb/core/stateful/ 
>> StatefulContainerManagedTxPolicy.java Thu Apr 19 20:42:11 2007
>> @@ -54,7 +54,10 @@
>>      public void handleSystemException(Throwable sysException,  
>> Object instance, TransactionContext context) throws  
>> ApplicationException, SystemException {
>>          try {
>>              policy.handleSystemException(sysException, instance,  
>> context);
>> +        } catch (InvalidateReferenceException e) {
>> +            throw e;
>>          } catch (ApplicationException e) {
>> +            // DMB: Not sure we want this here
>>              throw new InvalidateReferenceException(e.getRootCause 
>> ());
>>          }
>>      }
>>
>> Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/ 
>> main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
>> URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ 
>> JndiRequestHandler.java?view=diff&rev=530626&r1=530625&r2=530626
>> ===================================================================== 
>> =========
>> --- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/ 
>> java/org/apache/openejb/server/ejbd/JndiRequestHandler.java  
>> (original)
>> +++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/ 
>> java/org/apache/openejb/server/ejbd/JndiRequestHandler.java Thu  
>> Apr 19 20:42:11 2007
>> @@ -162,7 +162,7 @@
>>                          deployment.getPrimaryKeyClass(),
>>                          deployment.getComponentType().toString(),
>>                          deploymentID,
>> -                        -1, deployment.getBusinessRemoteInterfaces 
>> ());
>> +                        -1, proxyInfo.getInterfaces());
>>                  Object[] data = {metaData, proxyInfo.getPrimaryKey 
>> ()};
>>                  res.setResult(data);
>>                  break;
>> @@ -172,11 +172,11 @@
>>                  if (property.equalsIgnoreCase("remotable")) {
>>                      res.setResponseCode 
>> (ResponseCodes.JNDI_BUSINESS_OBJECT);
>>                      EJBMetaDataImpl metaData = new EJBMetaDataImpl 
>> (null,
>> -                            deployment.getBusinessLocalInterface(),
>> +                            null,
>>                              deployment.getPrimaryKeyClass(),
>>                              deployment.getComponentType().toString 
>> (),
>>                              deploymentID,
>> -                            -1, null);
>> +                            -1, proxyInfo.getInterfaces());
>>                      Object[] data = {metaData,  
>> proxyInfo.getPrimaryKey()};
>>                      res.setResult(data);
>>                  } else {
>>
>>
>