https://issues.apache.org/jira/browse/AMQ-4757 reinstate brokerUrl prop to allow rar admin-object init of xa pool

This commit is contained in:
gtully 2014-01-14 15:55:10 +00:00
parent 2a7c349976
commit 5c9dcee7ed
2 changed files with 50 additions and 0 deletions

View File

@ -50,6 +50,7 @@ import org.slf4j.LoggerFactory;
public class XaPooledConnectionFactory extends org.apache.activemq.jms.pool.XaPooledConnectionFactory implements JNDIStorableInterface, Service {
public static final String POOL_PROPS_PREFIX = "pool";
private static final transient Logger LOG = LoggerFactory.getLogger(org.apache.activemq.jms.pool.XaPooledConnectionFactory.class);
private String brokerUrl;
public XaPooledConnectionFactory() {
super();
@ -155,4 +156,15 @@ public class XaPooledConnectionFactory extends org.apache.activemq.jms.pool.XaPo
public Reference getReference() throws NamingException {
return JNDIReferenceFactory.createReference(this.getClass().getName(), this);
}
public void setBrokerUrl(String url) {
if (brokerUrl == null || !brokerUrl.equals(url)) {
brokerUrl = url;
setConnectionFactory(new ActiveMQXAConnectionFactory(brokerUrl));
}
}
public String getBrokerUrl() {
return brokerUrl;
}
}

View File

@ -0,0 +1,38 @@
/**
* 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.activemq.pool;
import javax.jms.Connection;
import org.junit.Test;
import static junit.framework.Assert.assertNotNull;
public class ConfigFromPropsTest {
XaPooledConnectionFactory underTest;
@Test
public void testBrokerUrlForRarAdminObject() throws Exception {
underTest = new XaPooledConnectionFactory();
underTest.setBrokerUrl("vm://localhost?broker.persistent=false");
Connection connection = underTest.createConnection();
assertNotNull(connection);
connection.close();
assertNotNull(underTest.getBrokerUrl());
}
}