Author: ffang
Date: Fri Dec 7 07:33:37 2012
New Revision: 1418201
URL: http://svn.apache.org/viewvc?rev=1418201&view=rev
Log:
[SMXCOMP-958]servicemix-wsn2005 should be able to configure username/password
when connect to a secure jms broker
Modified:
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
Modified:
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
---
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
(original)
+++
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
Fri Dec 7 07:33:37 2012
@@ -68,6 +68,10 @@ public class WSNComponent extends Defaul
private WSNDeployer deployer;
private BrokerService brokerService;
+
+ private String brokerUsername;
+
+ private String brokerPassword;
public WSNComponent() {
@@ -162,13 +166,13 @@ public class WSNComponent extends Defaul
}
if (connectionFactory != null) {
notificationBroker.setConnectionFactory(connectionFactory);
- notificationBroker.init();
+ notificationBroker.init(brokerUsername, brokerPassword);
}
// Create PullPoint
createPullPoint = new
JmsCreatePullPoint(configuration.getBrokerName());
createPullPoint.setManager(new WSNEndpointManager());
createPullPoint.setConnectionFactory(connectionFactory);
- createPullPoint.init();
+ createPullPoint.init(brokerUsername, brokerPassword);
// Create endpoints
endpoints = new ArrayList<Endpoint>();
if (resources != null) {
@@ -275,6 +279,22 @@ public class WSNComponent extends Defaul
return (ConnectionFactory)
ctx.lookup(configuration.getJndiConnectionFactoryName());
}
+ public String getBrokerUsername() {
+ return brokerUsername;
+ }
+
+ public void setBrokerUsername(String brokerUsername) {
+ this.brokerUsername = brokerUsername;
+ }
+
+ public String getBrokerPassword() {
+ return brokerPassword;
+ }
+
+ public void setBrokerPassword(String brokerPassword) {
+ this.brokerPassword = brokerPassword;
+ }
+
public class WSNEndpointManager implements EndpointManager {
public Object register(String address, Object service) throws
EndpointRegistrationException {
Modified:
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
---
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
(original)
+++
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
Fri Dec 7 07:33:37 2012
@@ -59,4 +59,16 @@ public class WSNConfiguration extends Pe
public void setBrokerName(String brokerName) {
this.brokerName = brokerName;
}
+
+ public static boolean isEmpty(String str) {
+ if (str != null) {
+ int len = str.length();
+ for (int x = 0; x < len; ++x) {
+ if (str.charAt(x) > ' ') {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
}
Modified:
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
---
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
(original)
+++
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
Fri Dec 7 07:33:37 2012
@@ -22,6 +22,7 @@ import javax.xml.namespace.QName;
import org.apache.servicemix.wsn.AbstractCreatePullPoint;
import org.apache.servicemix.wsn.AbstractPullPoint;
+import org.apache.servicemix.wsn.component.WSNConfiguration;
import org.oasis_open.docs.wsn.b_2.CreatePullPoint;
public class JmsCreatePullPoint extends AbstractCreatePullPoint {
@@ -34,9 +35,14 @@ public class JmsCreatePullPoint extends
super(name);
}
- public void init() throws Exception {
+ public void init(String brokerUsername, String brokerPassword) throws
Exception {
if (connection == null) {
- connection = connectionFactory.createConnection();
+ if (!WSNConfiguration.isEmpty(brokerUsername)
+ && !WSNConfiguration.isEmpty(brokerPassword)) {
+ connection =
connectionFactory.createConnection(brokerUsername, brokerPassword);
+ } else {
+ connection = connectionFactory.createConnection();
+ }
connection.start();
}
super.init();
Modified:
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
---
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
(original)
+++
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
Fri Dec 7 07:33:37 2012
@@ -27,6 +27,7 @@ import javax.xml.datatype.DatatypeFactor
import org.apache.servicemix.wsn.AbstractNotificationBroker;
import org.apache.servicemix.wsn.AbstractPublisher;
import org.apache.servicemix.wsn.AbstractSubscription;
+import org.apache.servicemix.wsn.component.WSNConfiguration;
import org.oasis_open.docs.wsrf.rp_2.GetResourcePropertyResponse;
import org.oasis_open.docs.wsrf.rp_2.InvalidResourcePropertyQNameFaultType;
import org.oasis_open.docs.wsrf.rw_2.ResourceUnavailableFault;
@@ -43,9 +44,14 @@ public abstract class JmsNotificationBro
super(name);
}
- public void init() throws Exception {
+ public void init(String brokerUsername, String brokerPassword) throws
Exception {
if (connection == null) {
- connection = connectionFactory.createConnection();
+ if (!WSNConfiguration.isEmpty(brokerUsername)
+ && !WSNConfiguration.isEmpty(brokerPassword)) {
+ connection =
connectionFactory.createConnection(brokerUsername, brokerPassword);
+ } else {
+ connection = connectionFactory.createConnection();
+ }
connection.start();
}
super.init();
Modified:
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
URL:
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
---
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
(original)
+++
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
Fri Dec 7 07:33:37 2012
@@ -27,6 +27,8 @@
<bean id="servicemix-wsn2005"
class="org.apache.servicemix.wsn.component.WSNComponent">
<property name="executorFactory" ref="executorFactory" />
<property name="connectionFactory" ref="connectionFactory" />
+ <property name="brokerUsername" value="${brokerUsername}"/>
+ <property name="brokerPassword" value="${brokerPassword}"/>
</bean>
<bean id="executorFactory"
class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
@@ -76,7 +78,9 @@
<cm:property name="threadPoolCorePoolSize" value="8"/>
<cm:property name="threadPoolMaximumPoolSize" value="32"/>
<cm:property name="threadPoolQueueSize" value="256"/>
- </cm:default-properties>
+ <cm:property name="brokerUsername" value=""/>
+ <cm:property name="brokerPassword" value=""/>
+ </cm:default-properties>
</cm:property-placeholder>
</blueprint>