I'd maybe increase your threadPoolSize to something fairly large if
you want to handle high numbers of concurrent processing - say 500.

more detail here

http://incubator.apache.org/activemq/activation-spec-properties.html
http://incubator.apache.org/activemq/resource-adapter-properties.html

On 8/12/06, Eugene Prokopiev <[EMAIL PROTECTED]> wrote:
Hi,

Where can I read about Jencks perfomance tuning? For example, I have
this configuration:

<beans>

        <!-- Geronimo Transaction Manager -->
        <bean id="transactionContextManager"
class="org.jencks.factory.TransactionContextManagerFactoryBean"/>
        <bean id="geronimo"
class="org.jencks.factory.GeronimoTransactionManagerFactoryBean"/>
        <bean id="geronimoTransactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
                <property name="userTransaction" ref="geronimo" />
        </bean>

        <!-- ActiveMQ Broker configuration -->
        <bean id="broker" class="org.apache.activemq.broker.BrokerService"
init-method="start" destroy-method="stop">
                <property name="persistent" value="false"/>
                <property name="transportConnectorURIs">
                        <list>
                                <value>tcp://localhost:5000</value>
                                <value>vm://localhost</value>
                        </list>
                </property>
        </bean>

        <!-- Jencks Connection Manager configuration -->
        <bean id="connectionManager"
class="org.jencks.factory.ConnectionManagerFactoryBean">
                <property name="transactionSupport">
                        <bean 
class="org.jencks.factory.XATransactionFactoryBean">
                                <property name="useTransactionCaching" 
value="true"/>
                                <property name="useThreadCaching" 
value="false"/>
                        </bean>
                </property>
                <property name="poolingSupport">
                        <bean class="org.jencks.factory.SinglePoolFactoryBean">
                                <property name="maxSize" value="10"/>
                                <property name="minSize" value="1"/>
                                <property name="blockingTimeoutMilliseconds" 
value="60"/>
                                <property name="idleTimeoutMinutes" value="60"/>
                                <property name="matchOne" value="true"/>
                                <property name="matchAll" value="true"/>
                                <property name="selectOneAssumeMatch" 
value="true"/>
                        </bean>
                </property>
        </bean>

        <!-- JCA ActiveMQ Connection configuration -->
        <bean id="jmsResourceAdapter"
class="org.apache.activemq.ra.ActiveMQResourceAdapter" depends-on="broker">
                <property name="serverUrl" value="vm://localhost"/>
        </bean>
        <bean id="jmsManagedConnectionFactory"
class="org.apache.activemq.ra.ActiveMQManagedConnectionFactory">
                <property name="resourceAdapter" ref="jmsResourceAdapter"/>
        </bean>
        <bean id="jmsConnectionFactory"
class="org.springframework.jca.support.LocalConnectionFactoryBean">
                <property name="managedConnectionFactory"
ref="jmsManagedConnectionFactory"/>
                <property name="connectionManager" ref="connectionManager"/>
     </bean>

        <!-- Jencks JCA Container configuration -->
        <bean id="jencksJCAContainer" class="org.jencks.JCAContainer">
                <property name="bootstrapContext">
                        <bean 
class="org.jencks.factory.BootstrapContextFactoryBean">
                                <property name="threadPoolSize" value="5"/>
                        </bean>
                </property>
                <property name="resourceAdapter" ref="jmsResourceAdapter"/>
        </bean>
        <bean id="inboundConnector" class="org.jencks.JCAConnector">
                <property name="jcaContainer" ref="jencksJCAContainer" />
                <property name="activationSpec">
                        <bean 
class="org.apache.activemq.ra.ActiveMQActivationSpec">
                                <property name="destination" 
value="messages.input"/>
                                <property name="destinationType" 
value="javax.jms.Queue"/>
                        </bean>
                </property>
                <property name="transactionManager" ref="geronimo"/>
                <property name="ref" value="messageProcessor"/>
        </bean>

     <!-- Manager message router configuration -->
     <bean id="messageProcessor" class="manager.broker.MessageProcessor">
                <property name="jmsTemplate">
                        <bean class="org.springframework.jms.core.JmsTemplate">
                                <property name="connectionFactory" 
ref="jmsConnectionFactory"/>
                        </bean>
                </property>
        </bean>

</beans>

Need I change it anyway to get the best perfomance? Need I make some
changes in java command line for starting up JVM? Need I consider my OS
or hardware for setting params? My OS is Linux (kernel 2.6.16). My
hardware is 1G RAM and 2 Xeon 3GHz with hyper-threading turned on. There
are no any other applications will be run on this machine except spring
context above.

--
Thanks,
Eugene Prokopiev




--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to