1   /***
2    * 
3    * Copyright 2004 Protique Ltd
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.codehaus.activemq.config;
19  
20  import org.codehaus.activemq.ActiveMQConnectionFactory;
21  import org.codehaus.activemq.JmsTopicSendReceiveWithTwoConnectionsTest;
22  
23  import javax.naming.InitialContext;
24  import java.util.Hashtable;
25  
26  /***
27   * @version $Revision: 1.1 $
28   */
29  public class BrokerXmlConfigFromJNDITest extends JmsTopicSendReceiveWithTwoConnectionsTest {
30      protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
31          // START SNIPPET: example
32  
33          // we could put these properties into a jndi.properties
34          // on the classpath instead
35          Hashtable properties = new Hashtable();
36          properties.put("java.naming.factory.initial", "org.codehaus.activemq.jndi.ActiveMQInitialContextFactory");
37          properties.put("useEmbeddedBroker", Boolean.TRUE);
38  
39          // configure the embedded broker using an XML config file
40          // which is either a URL or a resource on the classpath
41          properties.put("brokerXmlConfig", "file:src/sample-conf/bdb-example.xml");
42          properties.put("brokerURL", "vm://localhost");
43  
44          InitialContext context = new InitialContext(properties);
45          ActiveMQConnectionFactory connectionFactory = (ActiveMQConnectionFactory) context.lookup("ConnectionFactory");
46  
47          // END SNIPPET: example
48          return connectionFactory;
49      }
50  
51  }