]
Dominik Pospisil resolved WFLY-1424.
------------------------------------
Resolution: Out of Date
I have tested this issue on current master (WildFly Full 9.0.0.Alpha2-SNAPSHOT (WildFly
Core 1.0.0.Alpha18)) and the issue does not seem to be present. References stored in
naming context are being dereferended by remote client as expected.
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: Bug
Components: Naming
Affects Versions: 8.0.0.Alpha1
Reporter: Natasha Biryukov
Assignee: Dominik Pospisil
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");