You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2010/07/09 09:32:45 UTC
svn commit: r962432 - in /activemq/trunk/activemq-karaf/src/main:
java/org/apache/activemq/karaf/commands/
resources/org/apache/activemq/karaf/commands/
Author: dejanb
Date: Fri Jul 9 07:32:44 2010
New Revision: 962432
URL: http://svn.apache.org/viewvc?rev=962432&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-2815 - enabling creating blueprint configuration
Added:
activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/blueprint.xml
activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/spring.xml
Removed:
activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/broker.xml
Modified:
activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/CreateBrokerCommand.java
Modified: activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/CreateBrokerCommand.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/CreateBrokerCommand.java?rev=962432&r1=962431&r2=962432&view=diff
==============================================================================
--- activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/CreateBrokerCommand.java (original)
+++ activemq/trunk/activemq-karaf/src/main/java/org/apache/activemq/karaf/commands/CreateBrokerCommand.java Fri Jul 9 07:32:44 2010
@@ -38,6 +38,8 @@ public class CreateBrokerCommand extends
@Option(name = "-n", aliases = {"--name"}, description = "The name of the broker (defaults to localhost).")
private String name = "localhost";
+ @Option(name = "-t", aliases = {"--type"}, description = "type of configuration to be used: spring or blueprint (defaults to spring)")
+ private String type = "spring";
/*
* (non-Javadoc)
@@ -56,7 +58,13 @@ public class CreateBrokerCommand extends
mkdir(deploy);
File configFile = new File(deploy, name + "-broker.xml");
- copyFilteredResourceTo(configFile, "broker.xml", props);
+
+ if (!type.equalsIgnoreCase("spring") && !type.equalsIgnoreCase("blueprint")) {
+ System.out.println("@green Unknown type '" + type + "' Using spring by default");
+ type = "spring";
+ }
+
+ copyFilteredResourceTo(configFile, type.toLowerCase() + ".xml", props);
System.out.println("");
System.out.println("Default ActiveMQ Broker (" + name + ") configuration file created at: "
Added: activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/blueprint.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/blueprint.xml?rev=962432&view=auto
==============================================================================
--- activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/blueprint.xml (added)
+++ activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/blueprint.xml Fri Jul 9 07:32:44 2010
@@ -0,0 +1,131 @@
+<!--
+ 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.
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
+ xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
+ xmlns:amq="http://activemq.apache.org/schema/core">
+
+ <!-- Allows us to use system properties as variables in this configuration file -->
+ <ext:property-placeholder />
+
+ <broker xmlns="http://activemq.apache.org/schema/core" brokerName="${name}" dataDirectory="${karaf.data}/activemq/${name}" useShutdownHook="false">
+
+ <!--
+ For better performances use VM cursor and small memory limit.
+ For more information, see:
+
+ http://activemq.apache.org/message-cursors.html
+
+ Also, if your producer is "hanging", it's probably due to producer flow control.
+ For more information, see:
+ http://activemq.apache.org/producer-flow-control.html
+ -->
+
+ <destinationPolicy>
+ <policyMap>
+ <policyEntries>
+ <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">
+ <pendingSubscriberPolicy>
+ <vmCursor />
+ </pendingSubscriberPolicy>
+ </policyEntry>
+ <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">
+ <!-- Use VM cursor for better latency
+ For more information, see:
+
+ http://activemq.apache.org/message-cursors.html
+
+ <pendingQueuePolicy>
+ <vmQueueCursor/>
+ </pendingQueuePolicy>
+ -->
+ </policyEntry>
+ </policyEntries>
+ </policyMap>
+ </destinationPolicy>
+
+ <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
+ <managementContext>
+ <managementContext createConnector="false"/>
+ </managementContext>
+
+ <!--
+ Configure message persistence for the broker. The default persistence
+ mechanism is the KahaDB store (identified by the kahaDB tag).
+ For more information, see:
+
+ http://activemq.apache.org/persistence.html
+ -->
+ <persistenceAdapter>
+ <kahaDB directory="${karaf.data}/activemq/${name}/kahadb"/>
+ </persistenceAdapter>
+
+ <!--
+ The systemUsage controls the maximum amount of space the broker will
+ use before slowing down producers. For more information, see:
+
+ http://activemq.apache.org/producer-flow-control.html
+
+ <systemUsage>
+ <systemUsage>
+ <memoryUsage>
+ <memoryUsage limit="20 mb"/>
+ </memoryUsage>
+ <storeUsage>
+ <storeUsage limit="1 gb" name="foo"/>
+ </storeUsage>
+ <tempUsage>
+ <tempUsage limit="100 mb"/>
+ </tempUsage>
+ </systemUsage>
+ </systemUsage>
+ -->
+
+ <!-- The transport connectors ActiveMQ will listen to -->
+ <transportConnectors>
+ <transportConnector name="openwire" uri="tcp://localhost:61616"/>
+ <transportConnector name="stomp" uri="stomp://localhost:61613"/>
+ </transportConnectors>
+
+ </broker>
+
+ <bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
+
+ <property name="brokerURL" value="tcp://localhost:61616" />
+ </bean>
+
+ <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <property name="maxConnections" value="8" />
+ <property name="connectionFactory" ref="activemqConnectionFactory" />
+ </bean>
+
+ <bean id="resourceManager" class="org.apache.activemq.pool.ActiveMQResourceManager" init-method="recoverResource">
+ <property name="transactionManager" ref="transactionManager" />
+ <property name="connectionFactory" ref="activemqConnectionFactory" />
+ <property name="resourceName" value="activemq.${name}" />
+ </bean>
+
+ <reference id="transactionManager" interface="javax.transaction.TransactionManager" />
+
+ <service ref="pooledConnectionFactory" interface="javax.jms.ConnectionFactory">
+ <service-properties>
+ <entry key="name" value="localhost"/>
+ </service-properties>
+ </service>
+
+</blueprint>
+
Added: activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/spring.xml
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/spring.xml?rev=962432&view=auto
==============================================================================
--- activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/spring.xml (added)
+++ activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/spring.xml Fri Jul 9 07:32:44 2010
@@ -0,0 +1,141 @@
+<!--
+ 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.
+-->
+<beans
+ xmlns="http://www.springframework.org/schema/beans"
+ xmlns:amq="http://activemq.apache.org/schema/core"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:osgi="http://www.springframework.org/schema/osgi"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+ http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
+ http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
+ http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd">
+
+ <!-- Allows us to use system properties as variables in this configuration file -->
+ <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+
+ <broker xmlns="http://activemq.apache.org/schema/core" brokerName="${name}" dataDirectory="${karaf.data}/activemq/${name}" useShutdownHook="false">
+
+ <!--
+ For better performances use VM cursor and small memory limit.
+ For more information, see:
+
+ http://activemq.apache.org/message-cursors.html
+
+ Also, if your producer is "hanging", it's probably due to producer flow control.
+ For more information, see:
+ http://activemq.apache.org/producer-flow-control.html
+ -->
+
+ <destinationPolicy>
+ <policyMap>
+ <policyEntries>
+ <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">
+ <pendingSubscriberPolicy>
+ <vmCursor />
+ </pendingSubscriberPolicy>
+ </policyEntry>
+ <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">
+ <!-- Use VM cursor for better latency
+ For more information, see:
+
+ http://activemq.apache.org/message-cursors.html
+
+ <pendingQueuePolicy>
+ <vmQueueCursor/>
+ </pendingQueuePolicy>
+ -->
+ </policyEntry>
+ </policyEntries>
+ </policyMap>
+ </destinationPolicy>
+
+ <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
+ <managementContext>
+ <managementContext createConnector="false"/>
+ </managementContext>
+
+ <!--
+ Configure message persistence for the broker. The default persistence
+ mechanism is the KahaDB store (identified by the kahaDB tag).
+ For more information, see:
+
+ http://activemq.apache.org/persistence.html
+ -->
+ <persistenceAdapter>
+ <kahaDB directory="${karaf.data}/activemq/${name}/kahadb"/>
+ </persistenceAdapter>
+
+ <!--
+ The systemUsage controls the maximum amount of space the broker will
+ use before slowing down producers. For more information, see:
+
+ http://activemq.apache.org/producer-flow-control.html
+
+ <systemUsage>
+ <systemUsage>
+ <memoryUsage>
+ <memoryUsage limit="20 mb"/>
+ </memoryUsage>
+ <storeUsage>
+ <storeUsage limit="1 gb" name="foo"/>
+ </storeUsage>
+ <tempUsage>
+ <tempUsage limit="100 mb"/>
+ </tempUsage>
+ </systemUsage>
+ </systemUsage>
+ -->
+
+ <!-- The transport connectors ActiveMQ will listen to -->
+ <transportConnectors>
+ <transportConnector name="openwire" uri="tcp://localhost:61616"/>
+ <transportConnector name="stomp" uri="stomp://localhost:61613"/>
+ </transportConnectors>
+
+ </broker>
+
+ <bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
+
+ <property name="brokerURL" value="tcp://localhost:61616" />
+ </bean>
+
+ <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <property name="maxConnections" value="8" />
+ <property name="connectionFactory" ref="activemqConnectionFactory" />
+ </bean>
+
+ <bean id="resourceManager" class="org.apache.activemq.pool.ActiveMQResourceManager" init-method="recoverResource">
+ <property name="transactionManager" ref="transactionManager" />
+ <property name="connectionFactory" ref="activemqConnectionFactory" />
+ <property name="resourceName" value="activemq.${name}" />
+ </bean>
+
+ <osgi:reference id="transactionManager" interface="javax.transaction.TransactionManager" />
+
+ <osgi:service ref="pooledConnectionFactory">
+
+ <osgi:interfaces>
+ <value>javax.jms.ConnectionFactory</value>
+ </osgi:interfaces>
+ <osgi:service-properties>
+ <entry key="name" value="${name}"/>
+ </osgi:service-properties>
+ </osgi:service>
+
+</beans>
+
+