A network bridge has its own prefetch attribute. I think this will override any url parameter.
It looks like you may have two embedded brokers started here, one from the ra.xml xml config and one from the "vm://" connection url. Either add create=false&waitForStart=5000 to the vm://.. url (so that it won't create an embedded broker) or use the tcp variant that matches the transportConnector in activemq.xml. I imagine/assume the intention is to have one embedded broker network with an external broker. 2009/5/19 Eadno1 <eld...@alphacsp.com> > > I've been playing around with ActiveMQ for a while now, and > I'm trying...really hard...to configure it (Like they explain here - > http://activemq.apache.org/what-is-the-prefetch-limit-for.html) > > it's all not working, and I've finally understood why, are least I > understand why, but > solving it - I'm baffled! > > so this is what I'm running against : > ~~~~~~~~~~~~~~~~~~~~~~ > > broker-config.xml : > > <?xml version="1.0" encoding="UTF-8"?> > <!-- > 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. > --> > <!-- START SNIPPET: xbean --> > <beans xmlns="http://activemq.apache.org/schema/core"> > > <broker useJmx="true" brokerName="my.broker1"> > > <!-- put the following as the first child of the broker tag --> > <managementContext><!-- we'll use an existing one (JBoss) instead of > creating one --> > <managementContext createConnector="false"/> > </managementContext> > > > <!-- In ActiveMQ 4, you can setup destination policies. note: this > xml > format may still change a bit --> > <destinationPolicy> > <policyMap><policyEntries> > > <policyEntry topic="FOO.>"> > <dispatchPolicy> > <strictOrderDispatchPolicy /> > </dispatchPolicy> > <subscriptionRecoveryPolicy> > <lastImageSubscriptionRecoveryPolicy /> > </subscriptionRecoveryPolicy> > </policyEntry> > > </policyEntries></policyMap> > </destinationPolicy> > > > <persistenceAdapter> > <amqPersistenceAdapter syncOnWrite="false" directory="/data" > maxFileLength="20 mb"/> > </persistenceAdapter> > > > <!-- <persistenceAdapter> > <journaledJDBC journalLogFiles="5" dataDirectory="/data" />--> > <!-- To use a different datasource, use th following syntax : --> > <!-- <journaledJDBC journalLogFiles="5" dataDirectory="../data" > dataSource="#postgres-ds"/> > </persistenceAdapter>--> > > <transportConnectors> > <!-- prefixing a connector with discovery: causes the connector to be > advertiesed over rendezvous --> > <transportConnector name="my.broker1" uri="tcp://localhost:61615"/> > <!--<transportConnector name="PrintServer.broker1" > uri="tcp://localhost:61615"/>--> > </transportConnectors> > > <networkConnectors> > <!-- by default just auto discover the other brokers --> > <!--<networkConnector name="PrintServer.broker1" > uri="static://(tcp://localhost:61615)?jms.prefetchPolicy.all=30"/>--> > <networkConnector name="my.broker1" > uri="static://(tcp://localhost:61615)?jms.prefetchPolicy.all"/> > <!-- > <networkConnector > uri="static://(tcp://host1:61616,tcp://host2:61616)"/> > --> > </networkConnectors> > > </broker> > > > </beans> > > The ra.xml : > > ... > <resourceadapter> > > > <resourceadapter-class>org.apache.activemq.ra.ActiveMQResourceAdapter</resourceadapter-class> > <config-property> > <description> > The URL to the ActiveMQ server that you want this connection > to connect to. If using > an embedded broker, this value should be 'vm://localhost'. > </description> > <config-property-name>ServerUrl</config-property-name> > <config-property-type>java.lang.String</config-property-type> > > <!--<config-property-value>tcp://localhost:61615</config-property-value>--> > <config-property-value>vm://localhost</config-property-value> > </config-property> > <config-property> > <description>The default user name that will be used to > establish connections to the ActiveMQ server.</description> > <config-property-name>UserName</config-property-name> > <config-property-type>java.lang.String</config-property-type> > <config-property-value>defaultUser</config-property-value> > </config-property> > <config-property> > <description>The default password that will be used to log the > default user into the ActiveMQ server.</description> > <config-property-name>Password</config-property-name> > <config-property-type>java.lang.String</config-property-type> > <config-property-value>defaultPassword</config-property-value> > </config-property> > <config-property> > <description>The client id that will be set on the connection > that is established to the ActiveMQ server.</description> > <config-property-name>Clientid</config-property-name> > <config-property-type>java.lang.String</config-property-type> > </config-property> > <config-property> > <description>Boolean to configure if outbound connections should > reuse the inbound connection's session for sending messages.</description> > <config-property-name>UseInboundSession</config-property-name> > <config-property-type>java.lang.Boolean</config-property-type> > <config-property-value>false</config-property-value> > </config-property> > > <!-- NOTE disable the following property if you do > not wish to deploy > an embedded broker --> > <config-property> > <description> > Sets the XML configuration file used to configure the embedded > ActiveMQ broker via > Spring if using embedded mode. > > BrokerXmlConfig is the filename which is assumed to be on the > classpath unless > a URL is specified. So a value of foo/bar.xml would be assumed > to be on the > classpath whereas file:dir/file.xml would use the file system. > Any valid URL string is supported. > </description> > <config-property-name>BrokerXmlConfig</config-property-name> > <config-property-type>java.lang.String</config-property-type> > > <config-property-value>xbean:broker-config.xml</config-property-value> > </config-property> > > <outbound-resourceadapter> > <connection-definition> > > > <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</managedconnectionfactory-class> > > > <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface> > > > <connectionfactory-impl-class>org.apache.activemq.ra.ActiveMQConnectionFactory</connectionfactory-impl-class> > > <connection-interface>javax.jms.Connection</connection-interface> > > > <connection-impl-class>org.apache.activemq.ra.ManagedConnectionProxy</connection-impl-class> > </connection-definition> > <connection-definition> > > > <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</managedconnectionfactory-class> > > > <connectionfactory-interface>javax.jms.QueueConnectionFactory</connectionfactory-interface> > > > <connectionfactory-impl-class>org.apache.activemq.ra.ActiveMQConnectionFactory</connectionfactory-impl-class> > > <connection-interface>javax.jms.QueueConnection</connection-interface> > > > <connection-impl-class>org.apache.activemq.ra.ManagedConnectionProxy</connection-impl-class> > </connection-definition> > <connection-definition> > > > <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</managedconnectionfactory-class> > > > <connectionfactory-interface>javax.jms.TopicConnectionFactory</connectionfactory-interface> > > > <connectionfactory-impl-class>org.apache.activemq.ra.ActiveMQConnectionFactory</connectionfactory-impl-class> > > <connection-interface>javax.jms.TopicConnection</connection-interface> > > > <connection-impl-class>org.apache.activemq.ra.ManagedConnectionProxy</connection-impl-class> > </connection-definition> > <transaction-support>XATransaction</transaction-support> > <authentication-mechanism> > > > <authentication-mechanism-type>BasicPassword</authentication-mechanism-type> > > > <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface> > </authentication-mechanism> > <reauthentication-support>false</reauthentication-support> > </outbound-resourceadapter> > <inbound-resourceadapter> > <messageadapter> > <messagelistener> > > <messagelistener-type>javax.jms.MessageListener</messagelistener-type> > <activationspec> > > > <activationspec-class>org.apache.activemq.ra.ActiveMQActivationSpec</activationspec-class> > > <required-config-property> > > <config-property-name>destination</config-property-name> > </required-config-property> > <required-config-property> > > <config-property-name>destinationType</config-property-name> > </required-config-property> > > </activationspec> > </messagelistener> > </messageadapter> > </inbound-resourceadapter> > <adminobject> > <adminobject-interface>javax.jms.Queue</adminobject-interface> > > > <adminobject-class>org.apache.activemq.command.ActiveMQQueue</adminobject-class> > <config-property> > <config-property-name>PhysicalName</config-property-name> > > <config-property-type>java.lang.String</config-property-type> > </config-property> > </adminobject> > <adminobject> > <adminobject-interface>javax.jms.Topic</adminobject-interface> > > > <adminobject-class>org.apache.activemq.command.ActiveMQTopic</adminobject-class> > <config-property> > <config-property-name>PhysicalName</config-property-name> > > <config-property-type>java.lang.String</config-property-type> > </config-property> > </adminobject> > </resourceadapter> > ... > > and finally the activemq-jms-ds.xml (only the MBeans part) : > > <mbean code="org.jboss.resource.deployment.AdminObject" > name="activemq.queue:name=QueueSingle"> > <attribute name="JNDIName">activemq/queue/QueueSingle</attribute> > <depends > > optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends> > <attribute name="Type">javax.jms.Queue</attribute> > <attribute > name="Properties">PhysicalName=queue.QueueSingle</attribute> > </mbean> > > <mbean code="org.jboss.resource.deployment.AdminObject" > name="activemq.queue:name=QueueExpress"> > <attribute name="JNDIName">activemq/queue/QueueExpress</attribute> > <depends > > optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends> > <attribute name="Type">javax.jms.Queue</attribute> > <attribute > name="Properties">PhysicalName=queue.QueueExpress</attribute> > </mbean> > > <mbean code="org.jboss.resource.deployment.AdminObject" > name="activemq.queue:name=QueueLPR"> > <attribute name="JNDIName">activemq/queue/QueueLPR</attribute> > <depends > > optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends> > <attribute name="Type">javax.jms.Queue</attribute> > <attribute name="Properties">PhysicalName=queue.QueueLPR</attribute> > </mbean> > > <mbean code="org.jboss.resource.deployment.AdminObject" > name="activemq.topic:name=inboundTopic"> > <attribute name="JNDIName">activemq/topic/inbound</attribute> > <depends > > optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends> > <attribute name="Type">javax.jms.Topic</attribute> > <attribute name="Properties">PhysicalName=topic.inbound</attribute> > </mbean> > > so it does work, but when JBoss starts - it somehow tries to configure the > Queue with > the XML configurations and it says - it's already registered!!! > what the ?...@#! > > The only way that I can see MY queue (in jconsole) and not "localhost" > queue > - is > to remove the <networkConnector> ( more so - not setting the connection to > the same > broker defined in the <transportConnector>. > but my Queue isn't getting the configuration (nor does the localhost). > > So I don't know what I'm doing wrong !!! > > anyone who can share some info on the subject will be more then appreciated > :) > > E.D :working: > > > -- > View this message in context: > http://www.nabble.com/PrefetchPolicy---more---all-not-working-when-embedding-ActiveMQ-into-JBoss-tp23616711p23616711.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source SOA http://FUSESource.com