Ich versuche, viele JMS -Nachrichten an einen IBM MQ Broker mit der fantastischen Apache -Kamelbibliothek zu senden. Die Sendungsrate von Nachrichten ist mit Apache Camel sehr langsam (1 MSG/Sekunde). Wenn ich den gleichen Versand ohne Kamel -Sendungsrate 50 msg/Sekunde beträgt. Ich verstehe nicht, warum, weil die beiden Beispiele einen MQConnectionFactory mit denselben Parametern verwenden. >
MQConnectionFactory factory = new MQConnectionFactory();
factory.setHostName("tcp://myhost");
factory.setPort(1414);
factory.setChannel("mychannel");
factory.setQueueManager("myqueuemanager");
factory.setAppName("myAppName");
factory.setTransportType(WMQConstants.WMQ_CM_CLIENT);
factory.setStringProperty(WMQConstants.USERID, "myuser");
factory.setStringProperty(WMQConstants.PASSWORD, "mypassword");
// Set SSL properties for MTLS
factory.setSSLCipherSuite(this.localConf.getString("ssl.ciphers"));
System.setProperty("javax.net.ssl.keyStore", "somekeystore.js");
System.setProperty("javax.net.ssl.keyStorePassword", "mykeystorepassword");
System.setProperty("javax.net.ssl.trustStore", "somekeystore.js");
System.setProperty("javax.net.ssl.trustStorePassword", "mykeystorepassword.js");
var component = JmsComponent.jmsComponentClientAcknowledge(factory);
//Creating a new camel context
context = new DefaultCamelContext();
context.addComponent( "ibmmq", component);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
from("timer:myTimer?period=1&delay=0").setBody(constant("message content inferior to 100 bytes"))
//Envois vers IBM
.to("ibmmq:queue:myQueueName");
}
});
context.start();
< /code>
Ich bin in der Auflösung dieses Problems verloren: < /p>
Es kann keine Brokerbeschränkung sein, weil mein Standard -Test ohne Kamel ist 50x schneller < /li>
Es kann nicht die Fabrik sein, da es in zwei Tests gleich ist < /li>
< /ul>
Gibt es in meinem Kamelcode eine Missverständnis? schneller: < /p>
// Variables
JMSContext context = null;
Destination destination = null;
JMSProducer producer = null;
JMSConsumer consumer = null;
try {
// Create a connection factory
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
// Set the properties
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, host);
cf.setIntProperty(WMQConstants.WMQ_PORT, port);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, channel);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, qManagerName);
cf.setStringProperty(WMQConstants.WMQ_APPLICATIONNAME, "JmsPutGet (JMS)");
cf.setBooleanProperty(WMQConstants.USER_AUTHENTICATION_MQCSP, true);
cf.setStringProperty(WMQConstants.USERID, user);
cf.setStringProperty(WMQConstants.PASSWORD, password);
context = cf.createContext();
destination = context.createQueue("queue:///" + qname);
for(int i=0;i
Ich versuche, viele JMS -Nachrichten an einen IBM MQ Broker mit der fantastischen Apache -Kamelbibliothek zu senden. Die Sendungsrate von Nachrichten ist mit Apache Camel sehr langsam (1 MSG/Sekunde). Wenn ich den gleichen Versand ohne Kamel -Sendungsrate 50 msg/Sekunde beträgt. Ich verstehe nicht, warum, weil die beiden Beispiele einen MQConnectionFactory mit denselben Parametern verwenden. > [code]MQConnectionFactory factory = new MQConnectionFactory();
// Set SSL properties for MTLS factory.setSSLCipherSuite(this.localConf.getString("ssl.ciphers")); System.setProperty("javax.net.ssl.keyStore", "somekeystore.js"); System.setProperty("javax.net.ssl.keyStorePassword", "mykeystorepassword"); System.setProperty("javax.net.ssl.trustStore", "somekeystore.js"); System.setProperty("javax.net.ssl.trustStorePassword", "mykeystorepassword.js");
var component = JmsComponent.jmsComponentClientAcknowledge(factory);
//Creating a new camel context context = new DefaultCamelContext(); context.addComponent( "ibmmq", component);
context.addRoutes(new RouteBuilder() { @Override public void configure() { from("timer:myTimer?period=1&delay=0").setBody(constant("message content inferior to 100 bytes")) //Envois vers IBM .to("ibmmq:queue:myQueueName"); } });
context.start(); < /code> Ich bin in der Auflösung dieses Problems verloren: < /p>
Es kann keine Brokerbeschränkung sein, weil mein Standard -Test ohne Kamel ist 50x schneller < /li> Es kann nicht die Fabrik sein, da es in zwei Tests gleich ist < /li> < /ul> Gibt es in meinem Kamelcode eine Missverständnis? schneller: < /p> // Variables JMSContext context = null; Destination destination = null; JMSProducer producer = null; JMSConsumer consumer = null;
TSTU2012643.xyz.com:51671/gl210031/client.t.potrans?transport=1
TSTU2012644.xyz.com:51671/gl210032/client.t.potrans. Die Verbindung zu beiden Host -Hosts mit mehreren Verbindungsfabriken, wenn man...
Ich habe die folgenden Codezeilen in meiner Apache Camel-Route:
.split().method(SomeDataCacheSplitter.class, split ).streaming()
.marshal(gsonDataFormat)
.aggregate(constant(true), new...
Ich versuche, eine REST -API aus dem Apache -Camel -Projekt aufzudecken. rest-dsl.html#_components_supporting_rest_dsl
Ich habe die Plattform-HTTP-Komponente ausgewählt, da das Dokument dies...
Ich arbeite an einem Projekt, das Apache Camel verwendet, und versuche, eine Pfadvariable in einer Service -URL mit einem Header dynamisch zu ersetzen. Die URL ist aus dem Formular:...
Ich bin neu bei Apache Camel. Und ich möchte eine einfache Aufgabe mit Apache Camel erledigen. Ich habe JSON-Daten unter dieser URL verfügbar. Es gibt JSON-Daten von meinem Restdienst. Aber ich...