/** * Set the DestinationResolver to use for resolving destination names * into the JCA 1.5 ActivationSpec "destination" property. * <p>If not specified, destination names will simply be passed in as Strings. * If specified, destination names will be resolved into Destination objects first. * <p>Note that a DestinationResolver is usually specified on the JmsActivationSpecFactory * (see {@link StandardJmsActivationSpecFactory#setDestinationResolver}). This is simply * a shortcut for parameterizing the default JmsActivationSpecFactory; it will replace * any custom JmsActivationSpecFactory that might have been set before. * @see StandardJmsActivationSpecFactory#setDestinationResolver */ public void setDestinationResolver(DestinationResolver destinationResolver) { DefaultJmsActivationSpecFactory factory = new DefaultJmsActivationSpecFactory(); factory.setDestinationResolver(destinationResolver); this.activationSpecFactory = factory; }
@Test public void webSphereResourceAdapterSetup() throws Exception { Destination destination = new StubQueue(); DestinationResolver destinationResolver = mock(DestinationResolver.class); given(destinationResolver.resolveDestinationName(null, "destinationname", false)).willReturn(destination); DefaultJmsActivationSpecFactory activationSpecFactory = new DefaultJmsActivationSpecFactory(); activationSpecFactory.setDestinationResolver(destinationResolver); StubWebSphereActivationSpecImpl spec = (StubWebSphereActivationSpecImpl) activationSpecFactory .createActivationSpec(new StubWebSphereResourceAdapterImpl(), activationSpecConfig); assertEquals(destination, spec.getDestination()); assertEquals(5, spec.getMaxConcurrency()); assertEquals(3, spec.getMaxBatchSize()); }
/** * Set the factory for concrete JCA 1.5 ActivationSpec objects, * creating JCA ActivationSpecs based on * {@link #setActivationSpecConfig JmsActivationSpecConfig} objects. * <p>This factory is dependent on the concrete JMS provider, e.g. on ActiveMQ. * The default implementation simply guesses the ActivationSpec class name * from the provider's class name (e.g. "ActiveMQResourceAdapter" -> * "ActiveMQActivationSpec" in the same package), and populates the * ActivationSpec properties as suggested by the JCA 1.5 specification * (plus a couple of autodetected vendor-specific properties). * @see DefaultJmsActivationSpecFactory */ public void setActivationSpecFactory(@Nullable JmsActivationSpecFactory activationSpecFactory) { this.activationSpecFactory = (activationSpecFactory != null ? activationSpecFactory : new DefaultJmsActivationSpecFactory()); }
/** * This implementation detects and applies JBoss extended * activation spec settings. * @param BeanWrapper * @param JmsActivationSpecConfig */ @Override protected void populateActivationSpecProperties(BeanWrapper bw, JmsActivationSpecConfig config) { super.populateActivationSpecProperties(bw, config); if(config instanceof JBossJmsActivationSpecConfig) { populateJBossActivationSpecProperties(bw, (JBossJmsActivationSpecConfig) config); } }
@Test public void activeMQResourceAdapterSetup() { activationSpecConfig.setAcknowledgeMode(Session.SESSION_TRANSACTED); JmsActivationSpecFactory activationSpecFactory = new DefaultJmsActivationSpecFactory(); StubActiveMQActivationSpec spec = (StubActiveMQActivationSpec) activationSpecFactory.createActivationSpec( new StubActiveMQResourceAdapter(), activationSpecConfig); assertEquals(5, spec.getMaxSessions()); assertEquals(3, spec.getMaxMessagesPerSessions()); assertTrue(spec.isUseRAManagedTransaction()); }
/** * Set the DestinationResolver to use for resolving destination names * into the JCA 1.5 ActivationSpec "destination" property. * <p>If not specified, destination names will simply be passed in as Strings. * If specified, destination names will be resolved into Destination objects first. * <p>Note that a DestinationResolver is usually specified on the JmsActivationSpecFactory * (see {@link StandardJmsActivationSpecFactory#setDestinationResolver}). This is simply * a shortcut for parameterizing the default JmsActivationSpecFactory; it will replace * any custom JmsActivationSpecFactory that might have been set before. * @see StandardJmsActivationSpecFactory#setDestinationResolver */ public void setDestinationResolver(DestinationResolver destinationResolver) { DefaultJmsActivationSpecFactory factory = new DefaultJmsActivationSpecFactory(); factory.setDestinationResolver(destinationResolver); this.activationSpecFactory = factory; }
/** * Set the factory for concrete JCA 1.5 ActivationSpec objects, * creating JCA ActivationSpecs based on * {@link #setActivationSpecConfig JmsActivationSpecConfig} objects. * <p>This factory is dependent on the concrete JMS provider, e.g. on ActiveMQ. * The default implementation simply guesses the ActivationSpec class name * from the provider's class name (e.g. "ActiveMQResourceAdapter" -> * "ActiveMQActivationSpec" in the same package), and populates the * ActivationSpec properties as suggested by the JCA 1.5 specification * (plus a couple of autodetected vendor-specific properties). * @see DefaultJmsActivationSpecFactory */ public void setActivationSpecFactory(JmsActivationSpecFactory activationSpecFactory) { this.activationSpecFactory = (activationSpecFactory != null ? activationSpecFactory : new DefaultJmsActivationSpecFactory()); }
/** * Set the DestinationResolver to use for resolving destination names * into the JCA 1.5 ActivationSpec "destination" property. * <p>If not specified, destination names will simply be passed in as Strings. * If specified, destination names will be resolved into Destination objects first. * <p>Note that a DestinationResolver is usually specified on the JmsActivationSpecFactory * (see {@link StandardJmsActivationSpecFactory#setDestinationResolver}). This is simply * a shortcut for parameterizing the default JmsActivationSpecFactory; it will replace * any custom JmsActivationSpecFactory that might have been set before. * @see StandardJmsActivationSpecFactory#setDestinationResolver */ public void setDestinationResolver(DestinationResolver destinationResolver) { DefaultJmsActivationSpecFactory factory = new DefaultJmsActivationSpecFactory(); factory.setDestinationResolver(destinationResolver); this.activationSpecFactory = factory; }
/** * Set the factory for concrete JCA 1.5 ActivationSpec objects, * creating JCA ActivationSpecs based on * {@link #setActivationSpecConfig JmsActivationSpecConfig} objects. * <p>This factory is dependent on the concrete JMS provider, e.g. on ActiveMQ. * The default implementation simply guesses the ActivationSpec class name * from the provider's class name (e.g. "ActiveMQResourceAdapter" -> * "ActiveMQActivationSpec" in the same package), and populates the * ActivationSpec properties as suggested by the JCA 1.5 specification * (plus a couple of autodetected vendor-specific properties). * @see DefaultJmsActivationSpecFactory */ public void setActivationSpecFactory(JmsActivationSpecFactory activationSpecFactory) { this.activationSpecFactory = (activationSpecFactory != null ? activationSpecFactory : new DefaultJmsActivationSpecFactory()); }
/** * Set the DestinationResolver to use for resolving destination names * into the JCA 1.5 ActivationSpec "destination" property. * <p>If not specified, destination names will simply be passed in as Strings. * If specified, destination names will be resolved into Destination objects first. * <p>Note that a DestinationResolver is usually specified on the JmsActivationSpecFactory * (see {@link StandardJmsActivationSpecFactory#setDestinationResolver}). This is simply * a shortcut for parameterizing the default JmsActivationSpecFactory; it will replace * any custom JmsActivationSpecFactory that might have been set before. * @see StandardJmsActivationSpecFactory#setDestinationResolver */ public void setDestinationResolver(DestinationResolver destinationResolver) { DefaultJmsActivationSpecFactory factory = new DefaultJmsActivationSpecFactory(); factory.setDestinationResolver(destinationResolver); this.activationSpecFactory = factory; }
/** * Set the factory for concrete JCA 1.5 ActivationSpec objects, * creating JCA ActivationSpecs based on * {@link #setActivationSpecConfig JmsActivationSpecConfig} objects. * <p>This factory is dependent on the concrete JMS provider, e.g. on ActiveMQ. * The default implementation simply guesses the ActivationSpec class name * from the provider's class name (e.g. "ActiveMQResourceAdapter" -> * "ActiveMQActivationSpec" in the same package), and populates the * ActivationSpec properties as suggested by the JCA 1.5 specification * (plus a couple of autodetected vendor-specific properties). * @see DefaultJmsActivationSpecFactory */ public void setActivationSpecFactory(@Nullable JmsActivationSpecFactory activationSpecFactory) { this.activationSpecFactory = (activationSpecFactory != null ? activationSpecFactory : new DefaultJmsActivationSpecFactory()); }