You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2014/03/03 15:14:11 UTC
[5/5] git commit: CXF-5543 Removing jms old style config,
changing tests to use soap over jms style
CXF-5543 Removing jms old style config, changing tests to use soap over jms style
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/40b89868
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/40b89868
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/40b89868
Branch: refs/heads/master
Commit: 40b898684f18b5e4f0873d133a9deae618c576fa
Parents: 6738039
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Mar 3 15:13:54 2014 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Mon Mar 3 15:13:54 2014 +0100
----------------------------------------------------------------------
.../main/resources/schemas/wsdl/jms-context.xsd | 102 -----
.../common/util/PropertiesLoaderUtilsTest.java | 4 -
.../util/resources/bindings.properties.xml | 1 -
.../org/apache/cxf/jaxrs/utils/HttpUtils.java | 2 +-
rt/transports/jms/pom.xml | 24 --
.../transport/jms/ConnectionFactoryFeature.java | 71 ++++
.../cxf/transport/jms/JMSConfigFactory.java | 183 +++++++++
.../cxf/transport/jms/JMSConfigFeature.java | 2 -
.../cxf/transport/jms/JMSConfiguration.java | 60 +--
.../apache/cxf/transport/jms/JMSFactory.java | 26 +-
.../transport/jms/JMSMessageHeadersType.java | 293 +++++++++++++++
.../cxf/transport/jms/JMSMessageUtils.java | 2 +-
.../cxf/transport/jms/JMSOldConfigHolder.java | 368 ------------------
.../cxf/transport/jms/JMSPropertyType.java | 51 +++
.../cxf/transport/jms/JMSTransportFactory.java | 12 +-
.../cxf/transport/jms/JNDIConfiguration.java | 67 ----
.../spring/JMSConduitBeanDefinitionParser.java | 68 ----
.../JMSDestinationBeanDefinitionParser.java | 67 ----
.../transport/jms/spring/NamespaceHandler.java | 28 --
.../cxf/transport/jms/uri/JMSEndpoint.java | 181 +++++----
.../cxf/transport/jms/uri/JMSURIParser.java | 4 +-
.../jms/wsdl11/JMSWSDLExtensionLoader.java | 80 +---
.../jms/wsdl11/JmsTransportPlugin.java | 100 -----
.../src/main/resources/META-INF/spring.handlers | 21 --
.../src/main/resources/META-INF/spring.schemas | 1 -
.../src/main/resources/META-INF/wsdl.plugin.xml | 23 --
.../resources/schemas/configuration/jms.xsd | 74 ----
.../jms/src/main/resources/schemas/wsdl/jms.xjb | 39 --
.../jms/src/main/resources/schemas/wsdl/jms.xsd | 347 -----------------
.../cxf/transport/jms/AbstractJMSTester.java | 200 ++++++----
.../cxf/transport/jms/JMSConduitTest.java | 66 +---
.../cxf/transport/jms/JMSConfigFactoryTest.java | 36 ++
.../cxf/transport/jms/JMSDestinationTest.java | 373 ++++++-------------
.../apache/cxf/transport/jms/OldConfigTest.java | 46 ---
.../cxf/transport/jms/RequestResponseTest.java | 61 +--
.../transport/jms/ThrottlingCounterTest.java | 1 -
.../cxf/transport/jms/uri/JMSEndpointTest.java | 33 +-
.../jms/uri/URIConfiguredConduitTest.java | 31 +-
.../cxf/transport/jms/util/JMSUtilTest.java | 31 ++
.../jms/src/test/resources/jms_test.wsdl | 252 +++++++++++++
.../jms/src/test/resources/jms_test_config.xml | 74 ----
.../jms/src/test/resources/jms_test_jndi.xml | 29 --
.../activemq-data/localhost/KahaDB/db-1.log | Bin 0 -> 33030144 bytes
.../activemq-data/localhost/KahaDB/db.data | Bin 0 -> 32768 bytes
.../activemq-data/localhost/KahaDB/db.redo | Bin 0 -> 28720 bytes
.../cxf/systest/jaxrs/jms/JAXRSJmsTest.java | 7 +-
.../apache/cxf/systest/jaxrs/jms/JMSServer.java | 5 +
.../cxf/systest/jaxrs/jms/jms_server_config.xml | 18 +-
.../testcases/SOAPJMSTestSuiteTest.java | 6 +-
.../testsuite/testcases/SoapJmsSpecTest.java | 18 +-
.../systest/jms/JMSClientServerGzipTest.java | 36 +-
.../systest/jms/JMSClientServerSoap12Test.java | 10 +-
.../cxf/systest/jms/JMSClientServerTest.java | 68 +---
.../org/apache/cxf/systest/jms/JMSMTOMImpl.java | 4 +-
.../org/apache/cxf/systest/jms/JMSTestMtom.java | 119 ++++++
.../apache/cxf/systest/jms/JaxWsAPITest.java | 88 +++++
.../java/org/apache/cxf/systest/jms/Server.java | 45 +--
...HelloWorldContinuationsClientServerTest.java | 62 +--
.../HelloWorldContinuationsThrottleTest.java | 59 +--
.../JMSContinuationsClientServerTest.java | 72 ++--
.../ProviderJMSContinuationTest.java | 64 +---
.../cxf/systest/jms/continuations/jms_test.wsdl | 21 +-
.../jms/continuations/jms_test_config.xml | 20 +-
.../cxf/systest/jms/continuations/test.wsdl | 15 +-
.../java/org/apache/cxf/systest/jms/gzipBus.xml | 4 -
.../MultiTransportClientServerTest.java | 127 +++++++
.../org/apache/cxf/systest/jms/soap12Bus.xml | 19 +-
.../systest/jms/swa/ClientServerSwaTest.java | 12 +-
.../jms/tx/JMSTransactionClientServerTest.java | 28 +-
.../cxf/systest/jms/tx/jms_server_config.xml | 35 +-
.../src/test/resources/swa-mime_jms.wsdl | 225 +++++++++++
.../cxf/systest/http/auth/DigestAuthTest.java | 6 +-
.../MultiTransportClientServerTest.java | 170 ---------
systests/uncategorized/pom.xml | 5 +
.../java/org/apache/cxf/systest/coloc/cxf.xml | 35 +-
.../factory_pattern/NumberFactoryImpl.java | 1 +
.../systest/mtom/ClientMtomXopWithJMSTest.java | 185 ++++-----
.../common/AbstractClientServerTestBase.java | 62 +--
.../apache/cxf/testutil/common/TestUtil.java | 64 ++++
.../main/resources/wsdl/factory_pattern.wsdl | 21 +-
.../resources/wsdl/hello_world_doc_lit.wsdl | 71 ++--
.../src/main/resources/wsdl/jms_spec_test.wsdl | 11 +-
testutils/src/main/resources/wsdl/jms_test.wsdl | 174 +++------
.../src/main/resources/wsdl/jms_test_mtom.wsdl | 28 +-
testutils/src/main/resources/wsdl/mtom_xop.wsdl | 16 +-
.../resources/wsdl/others/jms_test_no_addr.wsdl | 78 ----
.../processor/WSDLToServiceProcessorTest.java | 120 ------
.../wsdl11/JAXWSDefinitionBuilderTest.java | 27 --
88 files changed, 2418 insertions(+), 3377 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/core/src/main/resources/schemas/wsdl/jms-context.xsd
----------------------------------------------------------------------
diff --git a/core/src/main/resources/schemas/wsdl/jms-context.xsd b/core/src/main/resources/schemas/wsdl/jms-context.xsd
deleted file mode 100644
index b52f6d0..0000000
--- a/core/src/main/resources/schemas/wsdl/jms-context.xsd
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-
-<xs:schema targetNamespace="http://cxf.apache.org/transports/jms/context"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:jms-context="http://cxf.apache.org/transports/jms/context"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
- <xs:complexType name="JMSHeadersType">
- <xs:annotation>
- <xs:documentation>JMS header properties.</xs:documentation>
- </xs:annotation>
-
- <xs:sequence>
- <xs:element name="property" type="jms-context:JMSPropertyType" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A collection of user provided JMS properties</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="JMSCorrelationID" type="xs:string"/>
- <xs:attribute name="JMSDeliveryMode" type="xs:int" />
- <xs:attribute name="JMSExpiration" type="xs:long" />
- <xs:attribute name="JMSMessageID" type="xs:string" />
- <xs:attribute name="JMSPriority" type="xs:int"/>
- <xs:attribute name="JMSRedelivered" type="xs:boolean"/>
- <xs:attribute name="JMSTimeStamp" type="xs:long"/>
- <xs:attribute name="JMSType" type="xs:string"/>
- <xs:attribute name="TimeToLive" type="xs:long"/>
- </xs:complexType>
-
- <xs:complexType name="JMSServerHeadersType">
- <xs:annotation>
- <xs:documentation>JMS header properties for use by server-side endpoints</xs:documentation>
- </xs:annotation>
-
- <xs:complexContent>
- <xs:extension base="jms-context:JMSHeadersType">
- <xs:attribute name="commitMessage" type="xs:boolean" default="false" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="JMSClientHeadersType">
- <xs:annotation>
- <xs:documentation>JMS header properties for client-side endpoints</xs:documentation>
- </xs:annotation>
-
- <xs:complexContent>
- <xs:extension base="jms-context:JMSHeadersType">
- <xs:attribute name="TimeOut" type="xs:long"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:complexType name="JMSPropertyType">
- <xs:annotation>
- <xs:documentation>Name/value pair used to hold user specified JMS
- header properties</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="name" type="xs:string"/>
- <xs:element name="value" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name="JMSConnectionSecurityInfoType">
- <xs:annotation>
- <xs:documentation>Contains username/password sometimes required when
- establishing a connection to a JMS broker.</xs:documentation>
- </xs:annotation>
-
- <xs:sequence>
- <xs:element name="username" type="xs:string" />
- <xs:element name="password" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
-
- <xs:element name="JMSHeaders" type="jms-context:JMSHeadersType"/>
- <xs:element name="JMSClientHeaders" type="jms-context:JMSClientHeadersType"/>
- <xs:element name="JMSServerHeaders" type="jms-context:JMSServerHeadersType"/>
- <xs:element name="JMSConnectionSecurityInfo" type="jms-context:JMSConnectionSecurityInfoType"/>
-
-</xs:schema>
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java b/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
index 2b271b9..53de031 100644
--- a/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
+++ b/core/src/test/java/org/apache/cxf/common/util/PropertiesLoaderUtilsTest.java
@@ -47,10 +47,6 @@ public class PropertiesLoaderUtilsTest extends Assert {
assertEquals(soapBindingFactory,
properties.getProperty("http://schemas.xmlsoap.org/wsdl/soap/http"));
- assertEquals(soapBindingFactory,
- properties.getProperty("http://cxf.apache.org/transports/jms"));
-
-
}
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml b/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
index 88b9e72..ed2e0fb 100644
--- a/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
+++ b/core/src/test/java/org/apache/cxf/common/util/resources/bindings.properties.xml
@@ -21,5 +21,4 @@
<properties>
<entry key="http://schemas.xmlsoap.org/wsdl/soap/">org.apache.cxf.bindings.soap.SOAPBindingFactory</entry>
<entry key="http://schemas.xmlsoap.org/wsdl/soap/http">org.apache.cxf.bindings.soap.SOAPBindingFactory</entry>
- <entry key="http://cxf.apache.org/transports/jms">org.apache.cxf.bindings.soap.SOAPBindingFactory</entry>
</properties>
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
index 6ee5add..4b572a6 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
@@ -433,7 +433,7 @@ public final class HttpUtils {
&& HttpUtils.isHttpRequest(m)) {
path = HttpUtils.toAbsoluteUri(path, m).getRawPath();
}
- return path.length() == 0 ? "/" : path;
+ return (path == null || path.length() == 0) ? "/" : path;
} catch (URISyntaxException ex) {
return endpointAddress == null ? "/" : endpointAddress;
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/pom.xml
----------------------------------------------------------------------
diff --git a/rt/transports/jms/pom.xml b/rt/transports/jms/pom.xml
index 42249e8..e2ff1e0 100644
--- a/rt/transports/jms/pom.xml
+++ b/rt/transports/jms/pom.xml
@@ -31,23 +31,10 @@
<relativePath>../../../parent/pom.xml</relativePath>
</parent>
<properties>
- <cxf.osgi.import>
- org.springframework*;resolution:=optional;version="${cxf.osgi.spring.version}"
- </cxf.osgi.import>
<cxf.spi-dir>spi-2.1</cxf.spi-dir>
</properties>
<dependencies>
<dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <optional />
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <optional />
- </dependency>
- <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>${project.version}</version>
@@ -147,17 +134,6 @@
<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
<xsdOptions>
<xsdOption>
- <xsd>${basedir}/src/main/resources/schemas/wsdl/jms.xsd</xsd>
- <bindingFile>${basedir}/src/main/resources/schemas/wsdl/jms.xjb</bindingFile>
- <catalog>${basedir}/src/main/build-resources/catalog.cat</catalog>
- <deleteDirs>
- <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
- </deleteDirs>
- <extensionArgs>
- <extensionArg>-Xdv</extensionArg>
- </extensionArgs>
- </xsdOption>
- <xsdOption>
<xsd>${basedir}/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xsd</xsd>
<bindingFile>${basedir}/src/main/resources/schemas/wsdl/spec/jms-spec-wsdl.xjb</bindingFile>
</xsdOption>
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java
new file mode 100644
index 0000000..7ac1895
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/ConnectionFactoryFeature.java
@@ -0,0 +1,71 @@
+/**
+ * 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.cxf.transport.jms;
+
+import java.util.logging.Logger;
+
+import javax.jms.ConnectionFactory;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.common.injection.NoJSR250Annotations;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.feature.AbstractFeature;
+import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.transport.Destination;
+
+/**
+ * Allows to configure the JMSConfiguration directly at the Client or Server. Simply add this class to the
+ * Features and reference a JMSConfiguration. The configuration inside this class takes precedence over a
+ * configuration that is generated from the old configuration style.
+ */
+@NoJSR250Annotations
+public class ConnectionFactoryFeature extends AbstractFeature {
+ static final Logger LOG = LogUtils.getL7dLogger(ConnectionFactoryFeature.class);
+
+ ConnectionFactory connectionFactory;
+
+ public ConnectionFactoryFeature(ConnectionFactory cf) {
+ this.connectionFactory = cf;
+ }
+
+ @Override
+ public void initialize(Client client, Bus bus) {
+ Conduit conduit = client.getConduit();
+ if (!(conduit instanceof JMSConduit)) {
+ throw new IllegalArgumentException("This feature only works for jms transport");
+ }
+ JMSConduit jmsConduit = (JMSConduit)conduit;
+ jmsConduit.getJmsConfig().setConnectionFactory(connectionFactory);
+ super.initialize(client, bus);
+ }
+
+ @Override
+ public void initialize(Server server, Bus bus) {
+ Destination destination = server.getDestination();
+ if (!(destination instanceof JMSDestination)) {
+ throw new IllegalArgumentException("This feature only works for jms transport");
+ }
+ JMSDestination jmsDestination = (JMSDestination)destination;
+ jmsDestination.getJmsConfig().setConnectionFactory(connectionFactory);
+ super.initialize(server, bus);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java
new file mode 100644
index 0000000..05e4f89
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFactory.java
@@ -0,0 +1,183 @@
+/**
+ * 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.cxf.transport.jms;
+
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.jms.ConnectionFactory;
+import javax.jms.DeliveryMode;
+import javax.naming.Context;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.configuration.ConfiguredBeanLocator;
+import org.apache.cxf.service.model.BindingInfo;
+import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.transport.jms.uri.JMSEndpoint;
+import org.apache.cxf.transport.jms.util.JMSDestinationResolver;
+import org.apache.cxf.transport.jms.util.JndiHelper;
+import org.apache.cxf.ws.addressing.EndpointReferenceType;
+
+public final class JMSConfigFactory {
+ private static final Logger LOG = LogUtils.getL7dLogger(JMSConfigFactory.class);
+
+ private JMSConfigFactory() {
+ }
+
+ public static JMSConfiguration createFromEndpointInfo(Bus bus, EndpointInfo endpointInfo,
+ EndpointReferenceType target) {
+ JMSEndpoint jmsEndpoint = new JMSEndpoint(endpointInfo, target);
+ return createFromEndpoint(bus, jmsEndpoint);
+ }
+
+ /**
+ * @param bus
+ * @param endpointInfo
+ * @return
+ */
+ public static JMSConfiguration createFromEndpoint(Bus bus, JMSEndpoint endpoint) {
+ JMSConfiguration jmsConfig = new JMSConfiguration();
+
+ int deliveryMode = endpoint.getDeliveryMode()
+ == org.apache.cxf.transport.jms.uri.JMSEndpoint.DeliveryModeType.PERSISTENT
+ ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
+ jmsConfig.setDeliveryMode(deliveryMode);
+
+ jmsConfig.setPriority(endpoint.getPriority());
+
+ jmsConfig.setReconnectOnException(endpoint.isReconnectOnException());
+
+ jmsConfig.setExplicitQosEnabled(true);
+ jmsConfig.setMessageType(endpoint.getMessageType().value());
+ boolean pubSubDomain = endpoint.getJmsVariant().contains(JMSEndpoint.TOPIC);
+ jmsConfig.setPubSubDomain(pubSubDomain);
+
+ jmsConfig.setDurableSubscriptionName(endpoint.getDurableSubscriptionName());
+ // TODO We might need a separate config here
+ jmsConfig.setDurableSubscriptionClientId(endpoint.getDurableSubscriptionName());
+
+ jmsConfig.setReceiveTimeout(endpoint.getReceiveTimeout());
+ jmsConfig.setTimeToLive(endpoint.getTimeToLive());
+ jmsConfig.setSessionTransacted(endpoint.isSessionTransacted());
+ if (!endpoint.isUseConduitIdSelector()) {
+ jmsConfig.setUseConduitIdSelector(endpoint.isUseConduitIdSelector());
+ }
+ jmsConfig.setConduitSelectorPrefix(endpoint.getConduitIdSelectorPrefix());
+ jmsConfig.setUserName(endpoint.getUsername());
+ jmsConfig.setPassword(endpoint.getPassword());
+ if (endpoint.getJndiURL() != null) {
+ // Configure Connection Factory using jndi
+ jmsConfig.setJndiEnvironment(JMSConfigFactory.getInitialContextEnv(endpoint));
+ jmsConfig.setConnectionFactoryName(endpoint.getJndiConnectionFactoryName());
+ } else {
+ ConfiguredBeanLocator locator = bus.getExtension(ConfiguredBeanLocator.class);
+ if (endpoint.getConnectionFactory() != null) {
+ jmsConfig.setConnectionFactory(endpoint.getConnectionFactory());
+ } else if (locator != null) {
+ // Configure ConnectionFactory using locator
+ // Lookup connectionFactory in context like blueprint
+ ConnectionFactory cf = locator.getBeanOfType(endpoint.getJndiConnectionFactoryName(),
+ ConnectionFactory.class);
+ if (cf != null) {
+ jmsConfig.setConnectionFactory(cf);
+ }
+ }
+ }
+
+ boolean resolveUsingJndi = endpoint.getJmsVariant().contains(JMSEndpoint.JNDI);
+ if (resolveUsingJndi) {
+ // Setup Destination jndi destination resolver
+ JndiHelper jt = new JndiHelper(JMSConfigFactory.getInitialContextEnv(endpoint));
+ final JMSDestinationResolver jndiDestinationResolver = new JMSDestinationResolver();
+ jndiDestinationResolver.setJndiTemplate(jt);
+ jmsConfig.setDestinationResolver(jndiDestinationResolver);
+ jmsConfig.setTargetDestination(endpoint.getDestinationName());
+ setReplyDestination(jmsConfig, endpoint);
+ } else {
+ // Use the default dynamic destination resolver
+ jmsConfig.setTargetDestination(endpoint.getDestinationName());
+ setReplyDestination(jmsConfig, endpoint);
+ }
+
+ String requestURI = endpoint.getRequestURI();
+ jmsConfig.setRequestURI(requestURI);
+
+ String targetService = endpoint.getTargetService();
+ jmsConfig.setTargetService(targetService);
+ return jmsConfig;
+ }
+
+ private static void setReplyDestination(JMSConfiguration jmsConfig, JMSEndpoint endpoint) {
+ if (endpoint.getReplyToName() != null) {
+ jmsConfig.setReplyDestination(endpoint.getReplyToName());
+ jmsConfig.setReplyPubSubDomain(false);
+ } else if (endpoint.getTopicReplyToName() != null) {
+ jmsConfig.setReplyDestination(endpoint.getTopicReplyToName());
+ jmsConfig.setReplyPubSubDomain(true);
+ }
+ }
+
+ public static <T> T getWSDLExtensor(EndpointInfo ei, Class<T> cls) {
+ ServiceInfo si = ei.getService();
+ BindingInfo bi = ei.getBinding();
+
+ Object o = ei.getExtensor(cls);
+ if (o == null && si != null) {
+ o = si.getExtensor(cls);
+ }
+ if (o == null && bi != null) {
+ o = bi.getExtensor(cls);
+ }
+
+ if (o == null) {
+ return null;
+ }
+ if (cls.isInstance(o)) {
+ return cls.cast(o);
+ }
+ return null;
+ }
+
+ public static Properties getInitialContextEnv(JMSEndpoint endpoint) {
+ Properties env = new Properties();
+ if (endpoint.getJndiInitialContextFactory() != null) {
+ env.put(Context.INITIAL_CONTEXT_FACTORY, endpoint.getJndiInitialContextFactory());
+ }
+ if (endpoint.getJndiURL() != null) {
+ env.put(Context.PROVIDER_URL, endpoint.getJndiURL());
+ }
+ for (Map.Entry<String, String> ent : endpoint.getJndiParameters().entrySet()) {
+ env.put(ent.getKey(), ent.getValue());
+ }
+ if (LOG.isLoggable(Level.FINE)) {
+ Enumeration<?> props = env.propertyNames();
+ while (props.hasMoreElements()) {
+ String name = (String)props.nextElement();
+ String value = env.getProperty(name);
+ LOG.log(Level.FINE, "Context property: " + name + " | " + value);
+ }
+ }
+ return env;
+ }
+}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
index b5b673b..3119b35 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfigFeature.java
@@ -30,7 +30,6 @@ import org.apache.cxf.endpoint.Server;
import org.apache.cxf.feature.AbstractFeature;
import org.apache.cxf.transport.Conduit;
import org.apache.cxf.transport.Destination;
-import org.springframework.beans.factory.annotation.Required;
/**
* Allows to configure the JMSConfiguration directly at the Client or Server. Simply add this class to the
@@ -71,7 +70,6 @@ public class JMSConfigFeature extends AbstractFeature {
return jmsConfig;
}
- @Required
public void setJmsConfig(JMSConfiguration jmsConfig) {
this.jmsConfig = jmsConfig;
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
index 5fdfa81..d1199dc 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java
@@ -18,6 +18,8 @@
*/
package org.apache.cxf.transport.jms;
+import java.util.Properties;
+
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
@@ -27,7 +29,6 @@ import javax.jms.Session;
import org.apache.cxf.common.injection.NoJSR250Annotations;
import org.apache.cxf.transport.jms.util.DestinationResolver;
import org.apache.cxf.transport.jms.util.JMSDestinationResolver;
-import org.apache.cxf.transport.jms.util.JndiHelper;
@NoJSR250Annotations
public class JMSConfiguration {
@@ -36,10 +37,11 @@ public class JMSConfiguration {
*/
public static final int DEFAULT_VALUE = -1;
- private boolean usingEndpointInfo = true;
-
- private JndiHelper jndiTemplate;
private ConnectionFactory connectionFactory;
+ private Properties jndiEnvironment;
+ private String connectionFactoryName;
+ private String userName;
+ private String password;
private DestinationResolver destinationResolver = new JMSDestinationResolver();
private boolean reconnectOnException = true;
private boolean pubSubNoLocal;
@@ -82,8 +84,6 @@ public class JMSConfiguration {
private String targetService;
private String requestURI;
- private JNDIConfiguration jndiConfig;
-
public void ensureProperlyConfigured() {
if (connectionFactory == null) {
connectionFactory = JMSFactory.getConnectionFactoryFromJndi(this);
@@ -95,13 +95,37 @@ public class JMSConfiguration {
throw new IllegalArgumentException("targetDestination may not be null");
}
}
+
+ public Properties getJndiEnvironment() {
+ return jndiEnvironment;
+ }
+
+ public void setJndiEnvironment(Properties jndiEnvironment) {
+ this.jndiEnvironment = jndiEnvironment;
+ }
+
+ public String getConnectionFactoryName() {
+ return connectionFactoryName;
+ }
- public boolean isUsingEndpointInfo() {
- return this.usingEndpointInfo;
+ public void setConnectionFactoryName(String connectionFactoryName) {
+ this.connectionFactoryName = connectionFactoryName;
}
- public void setUsingEndpointInfo(boolean usingEndpointInfo) {
- this.usingEndpointInfo = usingEndpointInfo;
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
}
public boolean isPubSubNoLocal() {
@@ -306,22 +330,6 @@ public class JMSConfiguration {
return useConduitIdSelector != null;
}
- public void setJndiTemplate(JndiHelper jndiTemplate) {
- this.jndiTemplate = jndiTemplate;
- }
-
- public JndiHelper getJndiTemplate() {
- return jndiTemplate;
- }
-
- public JNDIConfiguration getJndiConfig() {
- return jndiConfig;
- }
-
- public void setJndiConfig(JNDIConfiguration jndiConfig) {
- this.jndiConfig = jndiConfig;
- }
-
public boolean isReconnectOnException() {
return reconnectOnException;
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
index defa8f1..b0c6b61 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSFactory.java
@@ -30,9 +30,9 @@ import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.transport.jms.util.JMSListenerContainer;
import org.apache.cxf.transport.jms.util.JMSSender;
import org.apache.cxf.transport.jms.util.JMSUtil;
+import org.apache.cxf.transport.jms.util.JndiHelper;
import org.apache.cxf.transport.jms.util.MessageListenerContainer;
import org.apache.cxf.transport.jms.util.ResourceCloser;
-import org.apache.cxf.transport.jms.util.UserCredentialsConnectionFactoryAdapter;
/**
* Factory to create jms helper objects from configuration and context information
@@ -55,27 +55,12 @@ public final class JMSFactory {
* @return
*/
static ConnectionFactory getConnectionFactoryFromJndi(JMSConfiguration jmsConfig) {
- JNDIConfiguration jndiConfig = jmsConfig.getJndiConfig();
- if (jndiConfig == null) {
+ if (jmsConfig.getJndiEnvironment() == null || jmsConfig.getConnectionFactoryName() == null) {
return null;
}
- String connectionFactoryName = jndiConfig.getJndiConnectionFactoryName();
- if (connectionFactoryName == null) {
- return null;
- }
- String userName = jndiConfig.getConnectionUserName();
- String password = jndiConfig.getConnectionPassword();
try {
- ConnectionFactory cf = jmsConfig.getJndiTemplate().
- lookup(connectionFactoryName, ConnectionFactory.class);
- if (userName != null) {
- UserCredentialsConnectionFactoryAdapter uccf = new UserCredentialsConnectionFactoryAdapter();
- uccf.setUsername(userName);
- uccf.setPassword(password);
- uccf.setTargetConnectionFactory(cf);
- cf = uccf;
- }
-
+ ConnectionFactory cf = new JndiHelper(jmsConfig.getJndiEnvironment()).
+ lookup(jmsConfig.getConnectionFactoryName(), ConnectionFactory.class);
return cf;
} catch (NamingException e) {
throw new RuntimeException(e);
@@ -228,7 +213,8 @@ public final class JMSFactory {
}
public static Connection createConnection(JMSConfiguration jmsConfig) throws JMSException {
- Connection connection = jmsConfig.getConnectionFactory().createConnection();
+ Connection connection = jmsConfig.getConnectionFactory().createConnection(jmsConfig.getUserName(),
+ jmsConfig.getPassword());
if (jmsConfig.getDurableSubscriptionClientId() != null) {
connection.setClientID(jmsConfig.getDurableSubscriptionClientId());
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
new file mode 100644
index 0000000..21d31cc
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageHeadersType.java
@@ -0,0 +1,293 @@
+/**
+ * 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.cxf.transport.jms;
+
+import java.util.ArrayList;
+import java.util.List;
+
+//CHECKSTYLE:OFF
+public class JMSMessageHeadersType {
+ protected List<JMSPropertyType> property;
+ protected String jmsCorrelationID;
+ protected Integer jmsDeliveryMode;
+ protected Long jmsExpiration;
+ protected String jmsMessageID;
+ protected Integer jmsPriority;
+ protected Boolean jmsRedelivered;
+ protected String jmsReplyTo;
+ protected Long jmsTimeStamp;
+ protected String jmsType;
+ protected Long timeToLive;
+ protected String soapjmsTargetService;
+ protected String soapjmsBindingVersion;
+ protected String soapjmsContentType;
+ protected String soapjmsContentEncoding;
+ protected String soapjmssoapAction;
+ protected Boolean soapjmsIsFault;
+ protected String soapjmsRequestURI;
+
+ public List<JMSPropertyType> getProperty() {
+ if (property == null) {
+ property = new ArrayList<JMSPropertyType>();
+ }
+ return this.property;
+ }
+
+ public boolean isSetProperty() {
+ return ((this.property != null) && (!this.property.isEmpty()));
+ }
+
+ public void unsetProperty() {
+ this.property = null;
+ }
+
+ public String getJMSCorrelationID() {
+ return jmsCorrelationID;
+ }
+
+ public void setJMSCorrelationID(String value) {
+ this.jmsCorrelationID = value;
+ }
+
+ public boolean isSetJMSCorrelationID() {
+ return (this.jmsCorrelationID != null);
+ }
+
+ public String getJMSMessageID() {
+ return jmsMessageID;
+ }
+
+ public void setJMSMessageID(String value) {
+ this.jmsMessageID = value;
+ }
+
+ public boolean isSetJMSMessageID() {
+ return (this.jmsMessageID != null);
+ }
+
+ public String getJMSReplyTo() {
+ return jmsReplyTo;
+ }
+
+ public void setJMSReplyTo(String value) {
+ this.jmsReplyTo = value;
+ }
+
+ public boolean isSetJMSReplyTo() {
+ return (this.jmsReplyTo != null);
+ }
+
+ public String getJMSType() {
+ return jmsType;
+ }
+
+ public void setJMSType(String value) {
+ this.jmsType = value;
+ }
+
+ public boolean isSetJMSType() {
+ return (this.jmsType != null);
+ }
+
+ public String getSOAPJMSTargetService() {
+ return soapjmsTargetService;
+ }
+
+ public void setSOAPJMSTargetService(String value) {
+ this.soapjmsTargetService = value;
+ }
+
+ public boolean isSetSOAPJMSTargetService() {
+ return (this.soapjmsTargetService != null);
+ }
+
+ public String getSOAPJMSBindingVersion() {
+ return soapjmsBindingVersion;
+ }
+
+ public void setSOAPJMSBindingVersion(String value) {
+ this.soapjmsBindingVersion = value;
+ }
+
+ public boolean isSetSOAPJMSBindingVersion() {
+ return (this.soapjmsBindingVersion != null);
+ }
+
+ public String getSOAPJMSContentType() {
+ return soapjmsContentType;
+ }
+
+ public void setSOAPJMSContentType(String value) {
+ this.soapjmsContentType = value;
+ }
+
+ public boolean isSetSOAPJMSContentType() {
+ return (this.soapjmsContentType != null);
+ }
+
+ public String getSOAPJMSContentEncoding() {
+ return soapjmsContentEncoding;
+ }
+
+ public void setSOAPJMSContentEncoding(String value) {
+ this.soapjmsContentEncoding = value;
+ }
+
+ public boolean isSetSOAPJMSContentEncoding() {
+ return (this.soapjmsContentEncoding != null);
+ }
+
+ public String getSOAPJMSSOAPAction() {
+ return soapjmssoapAction;
+ }
+
+ public void setSOAPJMSSOAPAction(String value) {
+ this.soapjmssoapAction = value;
+ }
+
+ public boolean isSetSOAPJMSSOAPAction() {
+ return (this.soapjmssoapAction != null);
+ }
+
+ public String getSOAPJMSRequestURI() {
+ return soapjmsRequestURI;
+ }
+
+ public void setSOAPJMSRequestURI(String value) {
+ this.soapjmsRequestURI = value;
+ }
+
+ public boolean isSetSOAPJMSRequestURI() {
+ return (this.soapjmsRequestURI != null);
+ }
+
+ public void setJMSDeliveryMode(int value) {
+ jmsDeliveryMode = value;
+ }
+
+ public void unsetJMSDeliveryMode() {
+ jmsDeliveryMode = null;
+ }
+
+ public boolean isSetJMSDeliveryMode() {
+ return (this.jmsDeliveryMode != null);
+ }
+
+ public int getJMSDeliveryMode() {
+ return jmsDeliveryMode;
+ }
+
+ public void setJMSExpiration(long value) {
+ jmsExpiration = value;
+ }
+
+ public void unsetJMSExpiration() {
+ jmsExpiration = null;
+ }
+
+ public boolean isSetJMSExpiration() {
+ return (this.jmsExpiration != null);
+ }
+
+ public long getJMSExpiration() {
+ return jmsExpiration;
+ }
+
+ public void setJMSPriority(int value) {
+ jmsPriority = value;
+ }
+
+ public void unsetJMSPriority() {
+ jmsPriority = null;
+ }
+
+ public boolean isSetJMSPriority() {
+ return (this.jmsPriority != null);
+ }
+
+ public int getJMSPriority() {
+ return jmsPriority;
+ }
+
+ public void setJMSRedelivered(boolean value) {
+ jmsRedelivered = value;
+ }
+
+ public void unsetJMSRedelivered() {
+ jmsRedelivered = null;
+ }
+
+ public boolean isSetJMSRedelivered() {
+ return (this.jmsRedelivered != null);
+ }
+
+ public boolean isJMSRedelivered() {
+ return jmsRedelivered;
+ }
+
+ public void setJMSTimeStamp(long value) {
+ jmsTimeStamp = value;
+ }
+
+ public void unsetJMSTimeStamp() {
+ jmsTimeStamp = null;
+ }
+
+ public boolean isSetJMSTimeStamp() {
+ return (this.jmsTimeStamp != null);
+ }
+
+ public long getJMSTimeStamp() {
+ return jmsTimeStamp;
+ }
+
+ public void setTimeToLive(long value) {
+ timeToLive = value;
+ }
+
+ public void unsetTimeToLive() {
+ timeToLive = null;
+ }
+
+ public boolean isSetTimeToLive() {
+ return (this.timeToLive != null);
+ }
+
+ public long getTimeToLive() {
+ return timeToLive;
+ }
+
+ public void setSOAPJMSIsFault(boolean value) {
+ soapjmsIsFault = value;
+ }
+
+ public void unsetSOAPJMSIsFault() {
+ soapjmsIsFault = null;
+ }
+
+ public boolean isSetSOAPJMSIsFault() {
+ return (this.soapjmsIsFault != null);
+ }
+
+ public boolean isSOAPJMSIsFault() {
+ return soapjmsIsFault;
+ }
+
+}
+//CHECKSTYLE:ON
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
index f3c0b25..f5e6e9c 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSMessageUtils.java
@@ -204,7 +204,7 @@ final class JMSMessageUtils {
try {
String requestURI = jmsMessage.getStringProperty(JMSSpecConstants.REQUESTURI_FIELD);
JMSEndpoint endpoint = new JMSEndpoint(requestURI);
- if (endpoint.getParameter(JMSSpecConstants.TARGETSERVICE_PARAMETER_NAME) != null) {
+ if (endpoint.getTargetService() != null) {
headers.put(JMSSpecConstants.TARGET_SERVICE_IN_REQUESTURI,
Collections.singletonList("true"));
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
deleted file mode 100644
index eece423..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSOldConfigHolder.java
+++ /dev/null
@@ -1,368 +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.cxf.transport.jms;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Map;
-import java.util.Properties;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.naming.Context;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.configuration.ConfiguredBeanLocator;
-import org.apache.cxf.configuration.Configurer;
-import org.apache.cxf.service.model.BindingInfo;
-import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.transport.jms.spec.JMSSpecConstants;
-import org.apache.cxf.transport.jms.uri.JMSEndpoint;
-import org.apache.cxf.transport.jms.util.JMSDestinationResolver;
-import org.apache.cxf.transport.jms.util.JndiHelper;
-import org.apache.cxf.ws.addressing.EndpointReferenceType;
-
-public class JMSOldConfigHolder {
- private static final Logger LOG = LogUtils.getL7dLogger(JMSOldConfigHolder.class);
- private ClientConfig clientConfig;
- private ClientBehaviorPolicyType runtimePolicy;
-
- private SessionPoolType sessionPool;
- private JMSConfiguration jmsConfig;
- private ServerConfig serverConfig;
- private ServerBehaviorPolicyType serverBehavior;
- private AddressType address;
-
- public void setAddress(AddressType ad) {
- address = ad;
- }
- public AddressType getAddress() {
- return address;
- }
-
- public ClientConfig getClientConfig() {
- return clientConfig;
- }
-
- public void setClientConfig(ClientConfig clientConfig) {
- this.clientConfig = clientConfig;
- }
-
- public ClientBehaviorPolicyType getRuntimePolicy() {
- return runtimePolicy;
- }
-
- public void setRuntimePolicy(ClientBehaviorPolicyType runtimePolicy) {
- this.runtimePolicy = runtimePolicy;
- }
-
- public SessionPoolType getSessionPool() {
- return sessionPool;
- }
-
- public void setSessionPool(SessionPoolType sessionPool) {
- this.sessionPool = sessionPool;
- }
-
- public JMSConfiguration getJmsConfig() {
- return jmsConfig;
- }
-
- public void setJmsConfig(JMSConfiguration jmsConfig) {
- this.jmsConfig = jmsConfig;
- }
-
- public ServerConfig getServerConfig() {
- return serverConfig;
- }
-
- public void setServerConfig(ServerConfig serverConfig) {
- this.serverConfig = serverConfig;
- }
-
- public ServerBehaviorPolicyType getServerBehavior() {
- return serverBehavior;
- }
-
- public void setServerBehavior(ServerBehaviorPolicyType serverBehavior) {
- this.serverBehavior = serverBehavior;
- }
-
- public void initFromExtensorsAndSpring(Bus bus,
- EndpointInfo endpointInfo,
- EndpointReferenceType target,
- boolean isConduit) {
- address = endpointInfo.getTraversedExtensor(address, AddressType.class);
- clientConfig = endpointInfo.getTraversedExtensor(new ClientConfig(), ClientConfig.class);
- runtimePolicy = endpointInfo.getTraversedExtensor(new ClientBehaviorPolicyType(),
- ClientBehaviorPolicyType.class);
- serverConfig = endpointInfo.getTraversedExtensor(new ServerConfig(), ServerConfig.class);
- sessionPool = endpointInfo.getTraversedExtensor(new SessionPoolType(),
- SessionPoolType.class);
- serverBehavior = endpointInfo.getTraversedExtensor(new ServerBehaviorPolicyType(),
- ServerBehaviorPolicyType.class);
- String name = endpointInfo.getName() == null ? null : endpointInfo.getName().toString()
- + (isConduit ? ".jms-conduit" : ".jms-destination");
-
- // Try to retrieve configuration information from the spring
- // config. Search for a conduit or destination with name=endpoint name + ".jms-conduit"
- // or ".jms-destination"
-
- // Add conduit or destination config from spring
- Configurer configurer = bus.getExtension(Configurer.class);
- if (null != configurer) {
- if (name != null) {
- configurer.configureBean(name, this);
- }
- String adr = target == null ? endpointInfo.getAddress() : target.getAddress().getValue();
- if (adr != null) {
- configurer.configureBean(adr, this);
- }
- }
-
- }
-
- /**
- * @param bus
- * @param endpointInfo
- * @param isConduit
- * @return
- */
- public JMSConfiguration createJMSConfigurationFromEndpointInfo(Bus bus,
- EndpointInfo endpointInfo,
- EndpointReferenceType target,
- boolean isConduit)
- throws IOException {
- JMSEndpoint endpoint = new JMSEndpoint(endpointInfo, target);
- initFromExtensorsAndSpring(bus, endpointInfo, target, isConduit);
- ConfiguredBeanLocator locator = bus.getExtension(ConfiguredBeanLocator.class);
- if (address != null) {
- mapAddressToEndpoint(address, endpoint);
- }
- if (jmsConfig == null) {
- jmsConfig = new JMSConfiguration();
- }
-
- int deliveryMode = endpoint.getDeliveryMode()
- == org.apache.cxf.transport.jms.uri.JMSEndpoint.DeliveryModeType.PERSISTENT
- ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
- jmsConfig.setDeliveryMode(deliveryMode);
-
- jmsConfig.setPriority(endpoint.getPriority());
-
- if (jmsConfig.isUsingEndpointInfo()) {
- jmsConfig.setReconnectOnException(endpoint.isReconnectOnException());
- jmsConfig.setDurableSubscriptionName(serverBehavior.getDurableSubscriberName());
- jmsConfig.setExplicitQosEnabled(true);
- if (jmsConfig.getMessageSelector() == null) {
- jmsConfig.setMessageSelector(serverBehavior.getMessageSelector());
- }
- if (isConduit) {
- if (runtimePolicy.isSetMessageType()) {
- jmsConfig.setMessageType(runtimePolicy.getMessageType().value());
- } else if (address == null) {
- if (endpoint.getMessageType() == null) {
- // Using the byte message type by default
- jmsConfig.setMessageType(JMSConstants.BYTE_MESSAGE_TYPE);
- } else {
- jmsConfig.setMessageType(endpoint.getMessageType().value());
- }
- }
- }
- boolean pubSubDomain = endpoint.getJmsVariant().contains(JMSEndpoint.TOPIC);
- jmsConfig.setPubSubDomain(pubSubDomain);
- jmsConfig.setPubSubNoLocal(true);
- if (clientConfig.isSetClientReceiveTimeout()) {
- jmsConfig.setReceiveTimeout(clientConfig.getClientReceiveTimeout());
- }
- if (clientConfig.isSetUseConduitIdSelector()) {
- jmsConfig.setUseConduitIdSelector(clientConfig.isUseConduitIdSelector());
- }
- if (clientConfig.isSetConduitSelectorPrefix()) {
- jmsConfig.setConduitSelectorPrefix(clientConfig.getConduitSelectorPrefix());
- }
- if (serverConfig.isSetServerReceiveTimeout()) {
- jmsConfig.setServerReceiveTimeout(serverConfig.getServerReceiveTimeout());
- }
- jmsConfig.setSubscriptionDurable(serverBehavior.isSetDurableSubscriberName());
- jmsConfig.setDurableSubscriptionName(serverBehavior.getDurableSubscriberName());
- jmsConfig.setDurableSubscriptionClientId(serverConfig.getDurableSubscriptionClientId());
- jmsConfig.setTimeToLive(endpoint.getTimeToLive());
- if (serverBehavior.isSetTransactional()) {
- jmsConfig.setSessionTransacted(serverBehavior.isTransactional());
- }
-
- if (endpoint.getJndiURL() != null) {
- // Configure Connection Factory using jndi
- JndiHelper jt = new JndiHelper(JMSOldConfigHolder.getInitialContextEnv(endpoint));
- jmsConfig.setJndiTemplate(jt);
- JNDIConfiguration jndiConfig = new JNDIConfiguration();
- jndiConfig.setJndiConnectionFactoryName(endpoint.getJndiConnectionFactoryName());
- jndiConfig.setConnectionUserName(endpoint.getUsername());
- jndiConfig.setConnectionPassword(endpoint.getPassword());
- jmsConfig.setJndiConfig(jndiConfig);
- } else {
- // Configure ConnectionFactory using locator
- if (locator != null) {
- // Lookup connectionFactory in context like blueprint
- ConnectionFactory cf = locator.getBeanOfType(endpoint.getJndiConnectionFactoryName(),
- ConnectionFactory.class);
- if (cf != null) {
- jmsConfig.setConnectionFactory(cf);
- }
- }
- }
-
- boolean resolveUsingJndi = endpoint.getJmsVariant().contains(JMSEndpoint.JNDI);
- if (resolveUsingJndi) {
- // Setup Destination jndi destination resolver
- JndiHelper jt = new JndiHelper(JMSOldConfigHolder.getInitialContextEnv(endpoint));
- final JMSDestinationResolver jndiDestinationResolver = new JMSDestinationResolver();
- jndiDestinationResolver.setJndiTemplate(jt);
- jmsConfig.setDestinationResolver(jndiDestinationResolver);
- jmsConfig.setTargetDestination(endpoint.getDestinationName());
- setReplyDestination(jmsConfig, endpoint);
- if (address != null) {
- jmsConfig.setReplyToDestination(address.getJndiReplyToDestinationName());
- }
- } else {
- // Use the default dynamic destination resolver
- jmsConfig.setTargetDestination(endpoint.getDestinationName());
- setReplyDestination(jmsConfig, endpoint);
- if (address != null) {
- jmsConfig.setReplyToDestination(address.getJmsReplyToDestinationName());
- }
- }
- }
-
- String requestURI = endpoint.getRequestURI();
- jmsConfig.setRequestURI(requestURI);
-
- String targetService = endpoint.getParameter(JMSSpecConstants.TARGETSERVICE_PARAMETER_NAME);
- jmsConfig.setTargetService(targetService);
- return jmsConfig;
- }
-
- private static void setReplyDestination(JMSConfiguration jmsConfig, JMSEndpoint endpoint) {
- if (endpoint.getReplyToName() != null) {
- jmsConfig.setReplyDestination(endpoint.getReplyToName());
- jmsConfig.setReplyPubSubDomain(false);
- } else if (endpoint.getTopicReplyToName() != null) {
- jmsConfig.setReplyDestination(endpoint.getTopicReplyToName());
- jmsConfig.setReplyPubSubDomain(true);
- }
- }
-
- private static void mapAddressToEndpoint(AddressType address, JMSEndpoint endpoint) {
- boolean pubSubDomain = DestinationStyleType.TOPIC == address.getDestinationStyle();
- if (address.isSetDestinationStyle()) {
- endpoint.setJmsVariant(pubSubDomain ? JMSEndpoint.TOPIC : JMSEndpoint.QUEUE);
- } else {
- endpoint.setJmsVariant(JMSEndpoint.QUEUE);
- }
- if (address.isSetJndiConnectionFactoryName()) {
- endpoint.setJndiConnectionFactoryName(address.getJndiConnectionFactoryName());
- }
- if (address.isSetConnectionUserName()) {
- endpoint.setUsername(address.getConnectionUserName());
- }
- if (address.isSetConnectionPassword()) {
- endpoint.setPassword(address.getConnectionPassword());
- }
- if (address.isSetReconnectOnException()) {
- endpoint.setReconnectOnException(address.isReconnectOnException());
- }
- if (address.isSetUseJms11()) {
- LOG.log(Level.WARNING, "Use of address[@useJms11] is no longer supported");
- }
- boolean useJndi = address.isSetJndiDestinationName();
- if (useJndi) {
- endpoint.setJmsVariant(pubSubDomain ? JMSEndpoint.JNDI_TOPIC : JMSEndpoint.JNDI);
- endpoint.setDestinationName(address.getJndiDestinationName());
- endpoint.setReplyToName(address.getJndiReplyDestinationName());
- } else {
- endpoint.setDestinationName(address.getJmsDestinationName());
- endpoint.setReplyToName(address.getJmsReplyDestinationName());
- }
-
- java.util.ListIterator<JMSNamingPropertyType> listIter
- = address.getJMSNamingProperty().listIterator();
- while (listIter.hasNext()) {
- JMSNamingPropertyType propertyPair = listIter.next();
- String name = propertyPair.getName();
- String value = propertyPair.getValue();
- if (value != null) {
- if (name.equals(Context.PROVIDER_URL)) {
- endpoint.setJndiURL(value);
- } else if (name.equals(Context.INITIAL_CONTEXT_FACTORY)) {
- endpoint.setJndiInitialContextFactory(value);
- } else {
- endpoint.putJndiParameter(propertyPair.getName(), propertyPair.getValue());
- }
- }
- }
- }
-
- public <T> T getWSDLExtensor(EndpointInfo ei, Class<T> cls) {
- ServiceInfo si = ei.getService();
- BindingInfo bi = ei.getBinding();
-
- Object o = ei.getExtensor(cls);
- if (o == null && si != null) {
- o = si.getExtensor(cls);
- }
- if (o == null && bi != null) {
- o = bi.getExtensor(cls);
- }
-
- if (o == null) {
- return null;
- }
- if (cls.isInstance(o)) {
- return cls.cast(o);
- }
- return null;
- }
-
- public static Properties getInitialContextEnv(JMSEndpoint endpoint) {
- Properties env = new Properties();
- if (endpoint.getJndiInitialContextFactory() != null) {
- env.put(Context.INITIAL_CONTEXT_FACTORY, endpoint.getJndiInitialContextFactory());
- }
- if (endpoint.getJndiURL() != null) {
- env.put(Context.PROVIDER_URL, endpoint.getJndiURL());
- }
- for (Map.Entry<String, String> ent : endpoint.getJndiParameters().entrySet()) {
- env.put(ent.getKey(), ent.getValue());
- }
- if (LOG.isLoggable(Level.FINE)) {
- Enumeration<?> props = env.propertyNames();
- while (props.hasMoreElements()) {
- String name = (String)props.nextElement();
- String value = env.getProperty(name);
- LOG.log(Level.FINE, "Context property: " + name + " | " + value);
- }
- }
- return env;
- }
-}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
new file mode 100644
index 0000000..0574800
--- /dev/null
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSPropertyType.java
@@ -0,0 +1,51 @@
+/**
+ * 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.cxf.transport.jms;
+
+//CHECKSTYLE:OFF
+public class JMSPropertyType {
+ protected String name;
+ protected String value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String value) {
+ this.name = value;
+ }
+
+ public boolean isSetName() {
+ return (this.name != null);
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public boolean isSetValue() {
+ return (this.value != null);
+ }
+
+}
+//CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
index e4dd10a..c176051 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSTransportFactory.java
@@ -64,12 +64,9 @@ public class JMSTransportFactory extends AbstractTransportFactory implements Con
/**
* {@inheritDoc}
*/
- public Conduit getConduit(EndpointInfo endpointInfo, EndpointReferenceType target, Bus bus) throws IOException {
- JMSOldConfigHolder old = new JMSOldConfigHolder();
- JMSConfiguration jmsConf = old.createJMSConfigurationFromEndpointInfo(bus,
- endpointInfo,
- target,
- true);
+ public Conduit getConduit(EndpointInfo endpointInfo, EndpointReferenceType target, Bus bus)
+ throws IOException {
+ JMSConfiguration jmsConf = JMSConfigFactory.createFromEndpointInfo(bus, endpointInfo, target);
return new JMSConduit(target, jmsConf, bus);
}
@@ -77,8 +74,7 @@ public class JMSTransportFactory extends AbstractTransportFactory implements Con
* {@inheritDoc}
*/
public Destination getDestination(EndpointInfo endpointInfo, Bus bus) throws IOException {
- JMSOldConfigHolder old = new JMSOldConfigHolder();
- JMSConfiguration jmsConf = old.createJMSConfigurationFromEndpointInfo(bus, endpointInfo, null, false);
+ JMSConfiguration jmsConf = JMSConfigFactory.createFromEndpointInfo(bus, endpointInfo, null);
return new JMSDestination(bus, endpointInfo, jmsConf);
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java
deleted file mode 100644
index c5ac4e4..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JNDIConfiguration.java
+++ /dev/null
@@ -1,67 +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.cxf.transport.jms;
-
-import java.util.Properties;
-
-import org.apache.cxf.transport.jms.util.JndiHelper;
-
-public class JNDIConfiguration {
- private Properties environment;
- private String jndiConnectionFactoryName;
- private String connectionUserName;
- private String connectionPassword;
-
- public JndiHelper createJndiTemple() {
- return new JndiHelper(environment);
- }
-
- public String getJndiConnectionFactoryName() {
- return jndiConnectionFactoryName;
- }
-
- public void setJndiConnectionFactoryName(String jndiConnectionFactoryName) {
- this.jndiConnectionFactoryName = jndiConnectionFactoryName;
- }
-
- public String getConnectionUserName() {
- return connectionUserName;
- }
-
- public void setConnectionUserName(String connectionUserName) {
- this.connectionUserName = connectionUserName;
- }
-
- public String getConnectionPassword() {
- return connectionPassword;
- }
-
- public void setConnectionPassword(String connectionPassword) {
- this.connectionPassword = connectionPassword;
- }
-
- public Properties getEnvironment() {
- return environment;
- }
-
- public void setEnvironment(Properties environment) {
- this.environment = environment;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java
deleted file mode 100644
index fc2851c..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSConduitBeanDefinitionParser.java
+++ /dev/null
@@ -1,68 +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.cxf.transport.jms.spring;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
-import org.apache.cxf.helpers.DOMUtils;
-import org.apache.cxf.transport.jms.AddressType;
-import org.apache.cxf.transport.jms.ClientBehaviorPolicyType;
-import org.apache.cxf.transport.jms.ClientConfig;
-import org.apache.cxf.transport.jms.JMSConduit;
-import org.apache.cxf.transport.jms.SessionPoolType;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-
-public class JMSConduitBeanDefinitionParser extends AbstractBeanDefinitionParser {
-
- private static final String JMS_NS = "http://cxf.apache.org/transports/jms";
-
- @Override
- protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
- bean.setAbstract(true);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "clientConfig"), "clientConfig",
- ClientConfig.class);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "runtimePolicy"), "runtimePolicy",
- ClientBehaviorPolicyType.class);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "address"), "address", AddressType.class);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "sessionPool"), "sessionPool",
- SessionPoolType.class);
-
-
- List<Element> elemList =
- DOMUtils.findAllElementsByTagNameNS(element, JMS_NS, "jmsConfig-ref");
-
- if (elemList.size() == 1) {
- Node el1 = elemList.get(0);
- bean.addPropertyReference("jmsConfig", el1.getTextContent());
- }
- }
-
- @Override
- protected Class<?> getBeanClass(Element arg0) {
- return JMSConduit.class;
- }
-}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java
deleted file mode 100644
index 786b7ae..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/JMSDestinationBeanDefinitionParser.java
+++ /dev/null
@@ -1,67 +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.cxf.transport.jms.spring;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
-import org.apache.cxf.helpers.DOMUtils;
-import org.apache.cxf.transport.jms.AddressType;
-import org.apache.cxf.transport.jms.JMSDestination;
-import org.apache.cxf.transport.jms.ServerBehaviorPolicyType;
-import org.apache.cxf.transport.jms.ServerConfig;
-import org.apache.cxf.transport.jms.SessionPoolType;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-
-public class JMSDestinationBeanDefinitionParser extends AbstractBeanDefinitionParser {
-
- private static final String JMS_NS = "http://cxf.apache.org/transports/jms";
-
- @Override
- protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
- bean.setAbstract(true);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "serverConfig"), "serverConfig",
- ServerConfig.class);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "runtimePolicy"), "serverBehavior",
- ServerBehaviorPolicyType.class);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "address"), "address",
- AddressType.class);
- mapElementToJaxbProperty(element, bean, new QName(JMS_NS, "sessionPool"), "sessionPool",
- SessionPoolType.class);
- List<Element> elemList =
- DOMUtils.findAllElementsByTagNameNS(element, JMS_NS, "jmsConfig-ref");
-
- if (elemList.size() == 1) {
- Node el1 = elemList.get(0);
- bean.addPropertyReference("jmsConfig", el1.getTextContent());
- }
- }
-
- @Override
- protected Class<?> getBeanClass(Element arg0) {
- return JMSDestination.class;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/cxf/blob/40b89868/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java
----------------------------------------------------------------------
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java
deleted file mode 100644
index 80b1c6b..0000000
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/spring/NamespaceHandler.java
+++ /dev/null
@@ -1,28 +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.cxf.transport.jms.spring;
-
-import org.springframework.beans.factory.xml.NamespaceHandlerSupport;
-
-public class NamespaceHandler extends NamespaceHandlerSupport {
- public void init() {
- registerBeanDefinitionParser("conduit", new JMSConduitBeanDefinitionParser());
- registerBeanDefinitionParser("destination", new JMSDestinationBeanDefinitionParser());
- }
-}