[jboss-jira] [JBoss JIRA] (WFLY-1424) Remote lookup for Referenceable returns Reference and not the real object

Natasha Biryukov (JIRA) jira-events at lists.jboss.org
Thu May 30 08:49:54 EDT 2013


Natasha Biryukov created WFLY-1424:
--------------------------------------

             Summary: Remote lookup for Referenceable returns Reference and not the real object
                 Key: WFLY-1424
                 URL: https://issues.jboss.org/browse/WFLY-1424
             Project: WildFly
          Issue Type: Feature Request
    Affects Versions: 8.0.0.Alpha1
            Reporter: Natasha Biryukov


In JBoss EAP6.1 Alfa and Beta during remote lookup for obejct that implements Referenceable the coresponding ObjectFactory is not called, as a result the Reference object is returned and not the real one.

Code example:
public class Fruit implements Referenceable {
          String fruit;

          public Fruit(String f) {
                    fruit = f;
          }

          public Reference getReference() throws NamingException {
                    return new Reference(
                                        Fruit.class.getName(),
                                        new StringRefAddr("fruit", fruit),
                                        FruitFactory.class.getName(),
                                        null);
          }

          public String toString() {
                    return fruit;
          }
}


public class FruitFactory implements ObjectFactory {
          @Override
          public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception {
                    Reference localObject1;
                    if (obj instanceof Reference) {
                              localObject1 = (Reference) obj;
                              Object fruit = localObject1.get("fruit").getContent();
                              return new Fruit((String)fruit);
                    } else {
                              return obj;
                    }
          }
}

Fruit f = new Fruit("apple");
context.bind("apple", f); 
Fruit f1 = (Fruit)context.lookup("apple");

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list