in src/main/java/com/azure/servicebus/jms/jndi/JNDIReferenceFactory.java [24:45]
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment)
throws Exception {
Object result = null;
if (obj instanceof Reference) {
Reference reference = (Reference) obj;
Class<?> theClass = loadClass(this, reference.getClassName());
if (JNDIStorable.class.isAssignableFrom(theClass)) {
JNDIStorable store = (JNDIStorable) theClass.getDeclaredConstructor().newInstance();
Map<String, String> properties = new HashMap<>();
for (Enumeration<RefAddr> iter = reference.getAll(); iter.hasMoreElements();) {
StringRefAddr addr = (StringRefAddr) iter.nextElement();
properties.put(addr.getType(), (addr.getContent() == null) ? "" : addr.getContent().toString());
}
store.setProperties(properties);
result = store;
}
} else {
throw new RuntimeException("Object " + obj + " is not a reference");
}
return result;
}