@Override public Object getObjectInstance(final Object obj, final Name name, final Context nameCtx, final Hashtable<?, ?> environment) throws Exception { return factory.getObjectInstance(url, name, nameCtx, environment); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }
final Class<?> factoryClass = classLoader.loadClass(className); final ObjectFactory objectFactory = ObjectFactory.class.cast(factoryClass.newInstance()); final Object result = objectFactory.getObjectInstance(ref, name, nameCtx, environment); if (result != null) { return result;
private Object getObjectInstance(final Object object, final Name name, final Hashtable<?, ?> environment) throws NamingException { try { final ObjectFactoryBuilder factoryBuilder = ObjectFactoryBuilder.INSTANCE; final ObjectFactory objectFactory = factoryBuilder.createObjectFactory(object, environment); return objectFactory == null ? null : objectFactory.getObjectInstance(object, name, this, environment); } catch(NamingException e) { throw e; } catch(Throwable t) { throw NamingLogger.ROOT_LOGGER.cannotDeferenceObject(t); } }
result = DirObjectFactory.class.cast(objectFactory).getObjectInstance(ref, name, nameCtx, environment, attributes); } else { result = objectFactory.getObjectInstance(ref, name, nameCtx, environment);
@Override protected Context getURLOrDefaultInitCtx(String name) throws NamingException { String scheme = getURLScheme(name); if (scheme != null && !scheme.equals("java")) { ObjectFactory factory = urlContextFactories.get(scheme); if (factory != null) { try { return (Context) factory.getObjectInstance(null, null, null, myProps); }catch(NamingException e) { throw e; } catch (Exception e) { NamingException n = new NamingException(e.getMessage()); n.initCause(e); throw n; } } else { Context ctx = delegate.getInitialContext(myProps); if(ctx!=null) { return ctx; } } } return getDefaultInitCtx(); }
@Override public Object getObjectInstance(final Object obj, final Name name, final Context nameCtx, final Hashtable<?, ?> environment) throws Exception { return factory.getObjectInstance(url, name, nameCtx, environment); } }
@Override public Object getObjectInstance(final Object obj, final Name name, final Context nameCtx, final Hashtable<?, ?> environment) throws Exception { return factory.getObjectInstance(url, name, nameCtx, environment); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }
private Object getObjectInstance(final Reference reference, final Name name, final Hashtable<?, ?> environment) throws NamingException { try { final Class<?> factoryClass = Thread.currentThread().getContextClassLoader().loadClass(reference.getFactoryClassName()); ObjectFactory factory = ObjectFactory.class.cast(factoryClass.newInstance()); return factory.getObjectInstance(reference, name, this, environment); } catch(NamingException e) { throw e; } catch(Throwable t) { throw namingException("failed to get object instance from reference", t); } }
private Object getObjectInstance(final Object object, final Name name, final Hashtable<?, ?> environment) throws NamingException { try { final ObjectFactoryBuilder factoryBuilder = ObjectFactoryBuilder.INSTANCE; final ObjectFactory objectFactory = factoryBuilder.createObjectFactory(object, environment); return objectFactory.getObjectInstance(object, name, this, environment); } catch(NamingException e) { throw e; } catch(Throwable t) { throw MESSAGES.cannotDeferenceObject(t); } }
private Object getObjectInstance(final Object object, final Name name, final Hashtable<?, ?> environment) throws NamingException { try { final ObjectFactoryBuilder factoryBuilder = ObjectFactoryBuilder.INSTANCE; final ObjectFactory objectFactory = factoryBuilder.createObjectFactory(object, environment); return objectFactory == null ? null : objectFactory.getObjectInstance(object, name, this, environment); } catch(NamingException e) { throw e; } catch(Throwable t) { throw NamingLogger.ROOT_LOGGER.cannotDeferenceObject(t); } }
private <T> T getObject(Reference reference, Class<T> tClass) throws Exception { String factoryName = reference.getFactoryClassName(); Class<?> factoryClass = Class.forName(factoryName); ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); Object o = factory.getObjectInstance(reference, null, null, null); if (tClass.isAssignableFrom(tClass)) { return tClass.cast(o); } else { throw new IllegalStateException("Expected class, " + tClass.getName()); } }
@Test public void testReferenceCF() throws Exception { Reference cfRef = ((Referenceable) cf).getReference(); String factoryName = cfRef.getFactoryClassName(); Class<?> factoryClass = Class.forName(factoryName); ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); Object instance = factory.getObjectInstance(cfRef, null, null, null); ProxyAssertSupport.assertTrue(instance instanceof ActiveMQConnectionFactory); ActiveMQJMSConnectionFactory cf2 = (ActiveMQJMSConnectionFactory) instance; simpleSendReceive(cf2, queue1); }
@Test public void testReferenceTopic() throws Exception { Reference topicRef = ((Referenceable) ActiveMQServerTestCase.topic1).getReference(); String factoryName = topicRef.getFactoryClassName(); Class factoryClass = Class.forName(factoryName); ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); Object instance = factory.getObjectInstance(topicRef, null, null, null); ProxyAssertSupport.assertTrue(instance instanceof ActiveMQDestination); ActiveMQTopic topic2 = (ActiveMQTopic) instance; ProxyAssertSupport.assertEquals(ActiveMQServerTestCase.topic1.getTopicName(), topic2.getTopicName()); simpleSendReceive(cf, topic2); }
@Test public void testReference() throws Exception { ActiveMQDestination queue = (ActiveMQDestination) ActiveMQJMSClient.createQueue(RandomUtil.randomString()); Reference reference = queue.getReference(); String factoryName = reference.getFactoryClassName(); Class<?> factoryClass = Class.forName(factoryName); ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); Object object = factory.getObjectInstance(reference, null, null, null); Assert.assertNotNull(object); Assert.assertTrue(object instanceof ActiveMQDestination); Assert.assertEquals(queue, object); }
@Test public void testReferenceQueue() throws Exception { Reference queueRef = ((Referenceable) queue1).getReference(); String factoryName = queueRef.getFactoryClassName(); Class<?> factoryClass = Class.forName(factoryName); ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); Object instance = factory.getObjectInstance(queueRef, null, null, null); ProxyAssertSupport.assertTrue(instance instanceof ActiveMQDestination); ActiveMQQueue queue2 = (ActiveMQQueue) instance; ProxyAssertSupport.assertEquals(queue1.getQueueName(), queue2.getQueueName()); simpleSendReceive(cf, queue2); }