diff options
Diffstat (limited to '')
-rw-r--r-- | sca-java-1.x/branches/sca-java-1.6.1/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.6.1/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java b/sca-java-1.x/branches/sca-java-1.6.1/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java deleted file mode 100644 index 44ab8f3fbf..0000000000 --- a/sca-java-1.x/branches/sca-java-1.6.1/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.sca.jms; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingReferenceBindingProvider; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryExtensionPoint; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.host.jms.JMSHostExtensionPoint; -import org.apache.tuscany.sca.host.jms.JMSServiceListenerFactory; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.work.WorkScheduler; - -/** - * The factory for the JMS based implementation of the distributed sca binding - */ -public class JMSSCABindingProviderFactory implements BindingProviderFactory<DistributedSCABinding> { - - private WorkScheduler workScheduler; - private ExtensionPointRegistry extensionPoints; - private JMSResourceFactoryExtensionPoint jmsRFEP; - private JMSServiceListenerFactory serviceListenerFactory; - - public JMSSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - workScheduler = utilities.getUtility(WorkScheduler.class); - assert workScheduler != null; - jmsRFEP = (JMSResourceFactoryExtensionPoint)extensionPoints.getExtensionPoint(JMSResourceFactoryExtensionPoint.class); - if (jmsRFEP == null) { - jmsRFEP = new AMQResourceFactoryExtensionPoint(); - } - JMSHostExtensionPoint jmsHostExtensionPoint = (JMSHostExtensionPoint)extensionPoints.getExtensionPoint(JMSHostExtensionPoint.class); - serviceListenerFactory = jmsHostExtensionPoint.getJMSServiceListenerFactory(); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - DistributedSCABinding binding) { - JMSBinding jmsBinding = createBinding(binding); - - // FIXME: CREATE_NEVER doesn't work as the dynamically created JNDI destinations - // aren't replicated around the broker cluster. Maybe it needs an AMQ specific - // impl of the Tuscany JMSResourceFactory which uses use physical destinations - // instead of JNDI - // jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_NEVER); - - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory(jmsBinding); - return new JMSBindingReferenceBindingProvider(component, reference, jmsBinding, extensionPoints, jmsRF); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding) { - JMSBinding jmsBinding = createBinding(binding); - jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_ALWAYS); - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory(jmsBinding); - return new JMSBindingServiceBindingProvider(component, service, binding.getSCABinding(), jmsBinding, serviceListenerFactory, extensionPoints, jmsRF); - } - - private JMSBinding createBinding(DistributedSCABinding binding) { - JMSBinding b = new JMSBinding(); - b.setInitialContextFactoryName("org.apache.activemq.jndi.ActiveMQInitialContextFactory"); - b.setJndiURL("vm://localhost"); // TODO: plug in jndi url from definitions.xml - - b.setJMSTimeToLive(9); - - b.setRequestMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - b.setResponseMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - if (binding.getSCABinding().getURI().startsWith("/")) { - b.setDestinationName(binding.getSCABinding().getURI().substring(1)); - } else { - b.setDestinationName(binding.getSCABinding().getURI()); - } - return b; - } - - public Class<DistributedSCABinding> getModelType() { - return DistributedSCABinding.class; - } -} |