Re: Question on the proper usage of Camel

2012-02-13 Thread Ioannis Canellos
Grezgorz,

Allow me to clarify that I did not mean that you are "overusing" camel. Or at 
least I don't consider building 20 processors Camel overuse. I think that you 
are just making your life harder, regardless of camel.
For instance in a plain java application, building & wiring 20 classes to 
perform a single unit of work is a bit unnecessary.

Now back to camel. The challenges in an integration project is not just being 
able interact with an external system. There are a lot more as I pointed in my 
original response. So, even if you don't need the components, camel has a lot 
more to offer that may not be visible at first.

Ioannis Canellos
FuseSource

Blog: http://iocanel.blogspot.com
Apache Karaf Committer & PMC
Apache Camel Committer
Apache ServiceMix  Committer
Apache Gora Committer
Apache DirectMemory Committer



Re: Question on the proper usage of Camel

2012-02-12 Thread Ioannis Canellos
There are some points I miss here. From the initial description I understand 
that your use case is fairly simple: consume message from A, enrich / transform 
them using B & finally send them to C.
What I don't get is how you ended up having like 20 processors. The number 
sounds really big to me. I would understand having like 2 processors in a 
problem like the one describe, but 20 is really big and of course if you are 
trying to have them loosely coupled (which I don't see why) will eventually 
create a problem harder to solve than the initial one.

Since you have the integration libraries ready, beyond doubt is simpler to code 
just a class that calls the methods and not use any framework at all. It's 
simple, but also a bit "simplistic". 
What I want to say is how are you going to handle in your code some typical 
integration problems?
i) You receive messages from A in higher rate than B responds, and you keep on 
piling messages in memory?
ii) You loose connection with service B, while receiving messages from A?
iii) You loose connection with service C?
iv) You go live and you find out that service B crashes when the load is 
increasing and you need some kind of throttling?
v) Specs change B responds asynchronously using a new service D (you need some 
correlation)?

Then you are going to need retry policies, maybe do some stuff async. On top of 
that you may also need some logic to filter out duplicate messages etc, 
throttling etc.

Are you going to code all these on your own? 

So I would say that using 20 processors loosely coupled, might be an over 
engineering, but all the rest when we are talking about integration doesn't 
sound like over engineering to me.

Ioannis Canellos
FuseSource

Blog: http://iocanel.blogspot.com
Apache Karaf Committer & PMC
Apache Camel Committer
Apache ServiceMix  Committer
Apache Gora Committer
Apache DirectMemory Committer



Re: ZooKeeper Component Failover

2012-02-07 Thread Ioannis Canellos
The component uses a ZookeeperConfiguration object, on which you can add as 
many servers as you wish. So it would be something like this:

ZooKeeperConfiguration configuration = new ZooKeeperConfiguration();
configuration.setServers(serversList);
ZooKeeperComponent zookeeper = new ZookeeperComponent();
zookeeper.setConfiguration(configuration);

and so on...



Ioannis Canellos
FuseSource

Blog: http://iocanel.blogspot.com
Apache Karaf Committer & PMC
Apache Camel Committer
Apache ServiceMix  Committer
Apache Gora Committer
Apache DirectMemory Committer



Re: Difference between Cache and Hazelcast component

2012-02-02 Thread Ioannis Canellos
In general Hazelcast is more focused on the "distributed"  on the distributed 
part than ehcache.

That means that inside an environment that allows multicasting, Hazlecast 
instances will automatically discover each other and will be distributed with 
no additional configuration required. Of course you can configure this behavior 
if you want to disable multicasting etc.
Now as camel components camel-hazelcast offers some more features like seda, 
queues, atomic numbers etc.


Ioannis Canellos
FuseSource

Blog: http://iocanel.blogspot.com
Apache Karaf Committer & PMC
Apache Camel Committer
Apache ServiceMix  Committer
Apache Gora Committer
Apache DirectMemory Committer



Re: Camel XStream works with Spring but not with Aries

2011-12-02 Thread Ioannis Canellos
Hi Damien,

which version of camel are you using?
I created an blueprint integration test using camel 2.9 (using exaclty your
use case) and it works fine.

Can you please try with the current trunk?
-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Single request with multiple replies over TCP

2011-11-25 Thread Ioannis Canellos
If you are expecting one message for each response, then I guess that you
can get this message back by having the sync option set to true.
However, I think that you mentioned multiple responses per request. I think
that you could easily solve this one by implementing the appropriate
filter, that would gather all the responses and group them into a single
message before returning it to the io handler.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Is RMS faster than JMS?

2011-11-23 Thread Ioannis Canellos
Hi Andrew,

Faster is a tricky term.

You can say that runner A is faster than runner B, when you have them both
run the same distance. In 100m A might be faster than B, but B might have
more stamina and manage to get first in a longer distance say 300m.

In your question I can see runner RMI and runner JMS, but due to their
nature one is sync and the other is async, they never gonna run the exact
same distance.

Even if you put aside the fact that one is sync and the other is async
there are so many factors that you have to take into consideration.
i) Do you care how fast you will be able to send the requests?
ii) Do you care how fast the target service will receive the invocations?
iii) Do you expect a response?

In the end of the day both approaches serialize/deserialize objects. but
Jms is more flexible, is easier to setup, scales better and is more robust.


-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Accessing OSGI Services from Camel Routes

2011-11-23 Thread Ioannis Canellos
Hi Anurag,

Regardless of camel any OSGi service is just an object and its treated no
different than other objects.
Using spring or blueprint you can obtain a reference to an OSGi service and
it can be treat as bean.
In Camel things are no different you treat services like beans.

Here is an example: http://camel.apache.org/tutorial-osgi-camel-part1.html

Note: If you don't heavily rely on spring, it is strongly recommended that
you use blueprint (the example uses spring but blueprint could be used
instead).

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Camle ActiveMQ connection polling and threading issue

2011-11-22 Thread Ioannis Canellos
If I remember correctly you can use a * wildchar in order to avoid looping
and creating so many routes:

 from(CamelConnectionIssue.CONNECTION_NAME +
":topic:com.cisco.camel.test.subject.*").to("bean:cBean?method=receiveMessages");

In your case I am not sure if this will be enough, but its a great place to
start

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: NETTY component for network programming

2011-11-21 Thread Ioannis Canellos
Theoretically, you could use camel-netty or camel-mina to do so, but I will
propose a more easy approach which is camel-exec:
http://camel.apache.org/exec.html

Using camel exec you could execute commands in your system. So I guess that
something like ssh username:host -C command would do the trick for you.
You will still have an issue configuring the password, but there are plenty
of options for that, like configuring ssh known-hosts, or creating an ssh
config file, even creating a wrapper script that would pass the password
when prompted.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Camel running continuously

2011-11-21 Thread Ioannis Canellos
> When I run file transfer happens but the camel does not stop. The funny
> thing is whatever files I paste in source folder is transferred to the
> target again and again. How to stop the camel running once the transfer is
> over?
>

If I understand the question correctly you want to execute the route once
and then stop it?
If this is the case you can use something like this:
http://camel.apache.org/how-can-i-stop-a-route-from-a-route.html


-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: How to make your camel routes highly available when only one may be active at a time

2011-11-12 Thread Ioannis Canellos
Hi Chris,

Actually Hazelcast provides a distributed lock implementation and we don,t
have to implement it ourselves. You are right about the split though!

Really nice work!

On Saturday, November 12, 2011, Christian Schneider 
wrote:
> Hi Raul,
>
> a lock implementation in Hazelcast is surely possible but probably quite
difficult to do right.
> Typically you would work with a kind of heartbeat to tell if the other
nodes are alive.
> The problem arises when the network connect breaks but the nodes are
still alive. Then each would think it is alone and activate.
>
> The database lock is much safer as we can leave that behaviour to the DB
implementation.
>
> Another kind of lock that should work well is a file lock on a shared
file system as Claus proposed. Many Clusters use this for locking.
>
> @Claus: I would rather not move the locking to camel-jdbc as only this
implementation is jdbc specific. How about a camel-failover component? We
could also add file lock impl there.
> Of course camel-core would also be possible but I think it makes sense to
keep such modules out of core.
>
> Christian
>
>
> Am 11.11.2011 16:48, schrieb Raul Kripalani:
>>
>> Hi Christian,
>>
>> Nice work!
>>
>> I'm wondering if we could achieve something similar using the new kind on
>> the block, Hazelcast? It seems to be gaining much traction as of late,
and
>> it could be a possible use case for the camel-hazelcast component?
>>
>> -- Raúl.
>>
>> On 11 November 2011 14:54, Christian Schneiderwrote:
>>
>>> Hi all,
>>>
>>> in most cases when you use camel in production you have to provide some
>>> fault tolerence or high availability.
>>> So that could be easy by just deploying the camel route to two servers.
>>>
>>> In some cases though you have to make sure that only one of the routes
is
>>> running at any time. For example if you use a jpa consumer and want to
make
>>> sure that your messages keep in sequence then you can not simply start
it
>>> twice.
>>>
>>> As I already had this problem some times I finally decided to write a
>>> small project "simplecluster" that solves this problem.
>>>
>>> See my article on:
>>> http://www.liquid-reality.de/**x/XYBe<
http://www.liquid-reality.de/x/XYBe>
>>>
>>> The code can be found on github:
>>> https://github.com/cschneider/**simplecluster<
https://github.com/cschneider/simplecluster>
>>>
>>> Christian
>>>
>>> --
>>> Christian Schneider
>>> http://www.liquid-reality.de
>>>
>>> Open Source Architect
>>> Talend Application Integration Division http://www.talend.com
>>>
>>>
>
>
> --
>
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>
>

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Remotely pulling messages using CAMEL

2011-11-08 Thread Ioannis Canellos
I think that camel can be a good fit inside your use case.

I would still need a few more details, in order to respond to all your
questions.
What is the communication protocol between your application and the truck
(you just mention that you use a host & port but what about protocol? Is it
http? is it something else?).


-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Writing own Camel Components

2011-11-07 Thread Ioannis Canellos
I am wondering if the best approach is to use spring-amqp and build a
generic component for amqp rather than having one that favors amqp and one
that favors qpid.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Escaping parameters in route URI

2011-11-07 Thread Ioannis Canellos
Inside this scheme: *amqp:[queue:|topic:]***destinationName*[?options]*
by destination name is the name of the topic or the queue that you are
going to use.
Are you sure that you want to use *BURL:direct://lb-
push//pingqueue?routingkey="abcd"* as a queue name?

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*


Re: Problem running camel-example-cxf-osgi

2011-10-31 Thread Ioannis Canellos
The spring bundles have a lot of optional imports and in some cases when
installing features causes all there refreshes, which may result in such
errors.
In some cases the order may help you with this.

I find that when using equinox instead of felix, things work somehow better.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: route pulling message by query

2011-10-31 Thread Ioannis Canellos
I think that things could be more easy for you if instead of having a "tap"
queue, you used a short of cache (e.g. camel-cache).

You could use camel-cache and camel-activemq to store the tap message to
the cache and the result message to activemq.
>From there you could consume message from activemq, retrieve the message
from the cache and then store the message to the database either by using
camel-sql, camel-jpa etc.


-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel JBI Interaction

2011-10-21 Thread Ioannis Canellos
Yes you will be able to use camel inside ServiceMix 3.x.
-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Hazelcast Component persistence

2011-10-21 Thread Ioannis Canellos
Yes, this would be enough.

Please note, that you will still need to configure the instance that you
pass to the component.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Runtime dynamic xpath filter

2011-10-20 Thread Ioannis Canellos
What you could do is to use a recipient list that will send messages that
are to be filtered out to /dev/null.
The recipient list can implement the dynamic logic inside it (e.g. read
values from database, properties file whatever) and decide where to send
each message.

I am not sure if you can have such dynamic behavior with message filter.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel JBI Interaction

2011-10-19 Thread Ioannis Canellos
As you probably have already read, JBI is been considered deprecated (the
jbi spec is somewhat dead). In version 4.x users are discouraged of using
JBI, and its just there for those already using it.
In ServiceMix 5 there will be no option to use JBI at all.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Directory synchronization with Camel

2011-10-18 Thread Ioannis Canellos
Have you tied the noop=true option on the URI?

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: how to call route from other route?

2011-10-18 Thread Ioannis Canellos
Can you please provide some more details on what you want to do?

Typically, routes communicate with each other when they share endpoints. For
example:


  
  






But I am not sure if this is what you want.

*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Hazelcast Component persistence

2011-10-18 Thread Ioannis Canellos
There is a pending patch for commit, which would allow the hazelcast
component to be passed an existing Hazelcast instance. Once this is
committed you will be able to configure Hazelcast with any way you want and
just pass it to the component.
-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: simple example for JDBC in osgi

2011-10-18 Thread Ioannis Canellos
You might also want to have a look that the following patch (its not
committed yet) which uses camel-sql with both spring and blueprint routes.

https://issues.apache.org/jira/browse/CAMEL-4465


-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel-Quartz Configuration

2011-10-13 Thread Ioannis Canellos
Why would you make your life difficult and write a pojo to get files via
ftp?

I would suggest that you use a camel-ftp consumer and specigy the poll delay
to be one minute:

 
 ftp://scott@localhost/public/reports?password=tiger&binary=true&consumer.delay=6"/>
 



I wouldn't use camel-quartz for that, since ftp provides a polling consumer.

A use case for camel-quartz is that if you want to retrieve data via a
producer (e.g. hit via http a url and process the results every minute).
If you still want to do it with camel-quartz here is an example:

 
 
 









But I wouldn't recommend that.

I would also suggest that you take a look at the full source examples of
camel in action, which can be found here:
http://code.google.com/p/camelinaction/source/browse/trunk/?r=310
Chapter 2: Contains FTP examples.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel JBI Interaction

2011-10-13 Thread Ioannis Canellos
Camel allows you to create a jbi service, which you can then use to route
messages to the actual camel endpoint.
So assuming that you want to send a message from a jbi consumer to camel
endpoint A, you will need to create a camel route from a "pivot" jbi service
(camel will create it for you) to endpoint A

Here how it would look like.

http://foo.bar.org/PivotService";>


The you can add jbi:service:http://foo.bar.org/PivotService as target to
your jbi consumer.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel JBI Interaction

2011-10-10 Thread Ioannis Canellos
You can dump the jbi packaging and still use jbi components.

In any case yes you can combine camel and jbi with both osgi and jbi
packaging.
I think that there is a known issue in the operability of camel-blueprint
and jbi (I am not 100% sure, I'll have to search a bit).

Can you please try testing the same scenario using spring instead of
blueprint to define your routes?

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: SMPP to SMPP using camel

2011-09-29 Thread Ioannis Canellos
>From what I make out of the jsmpp documentation, jsmpp could support this
type of functionality, so in theory it wouldn't be hard to add this kind of
support to camel too.

Could you create a jira for it?

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: SMPP to SMPP using camel

2011-09-29 Thread Ioannis Canellos
 It also provides a consumer (Receiver) to receive messages (short messages
> or
> short message delivery notifications) from the SMSC in your Camel powered
> application (from("smpp:...")). I think this is all you need, isn't?
>

I think that the user needs more. He also wants to be able to accept
connections from an external ESME so that he can act as a gateway between an
external ESME and the SMSC. This would require to be able to accept incoming
connections from the ESME and also consume mobile terminating messages in
order to forward them to SMSC. However, this is not possible

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: SMPP to SMPP using camel

2011-09-27 Thread Ioannis Canellos
I think that this is not possible. While it will be able to connect to the
SMSC for sending MTs and receiving MOs I don't think that it is possible to
talk back to an ESME using SMPP.
Camel will be suitable for playing to role of ESME or talk to an ESME
through an other protocol, but not SMPP.

I am not sure if jsmpp which is the library that is used for SMPP could
support that, if jsmpp can support it maybe we can add it to camel too.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel uses old context to resolve endpoint by routing

2011-09-23 Thread Ioannis Canellos
I think that the vm can only be used to bridge contexts that are in the same
bundle.
-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: SMPP Bind timeout

2011-09-22 Thread Ioannis Canellos
When working with protcols like SMPP, wireshark is your best friend :)

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: endpoint URI can't parsed failed use utf-8?

2011-09-22 Thread Ioannis Canellos
>
> my URI is java.lang.String and have not chinese chars, why byte invalid ?


Some times the invalid chars are not printable/visible. It's rare but maybe
you could rewrite (not copy&paste) the entire uri and see if that gets you
anywhere.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Multicast not to route messages

2011-09-21 Thread Ioannis Canellos
>
> May be a Recipient List is what you need:
> http://camel.apache.org/recipient-list.htm<http://camel.apache.org/recipient-list.html>
>

I agree, with the recipient list you will be able to do multicast in a
dynamic fashion and have your implementation decide which will be the
destinations at any given time.

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: package org.apache.camel.core.xml is not exported (OSGi) - using Camel 2.7.3

2011-09-21 Thread Ioannis Canellos
>
>  Thanks Ioannis, Willem.
>
> Deploying a few JAXB related classes/resources of my extension as a
> fragment attached to org.apache.camel.camel-spring was the way to go.
>

Really glad, this works for you!

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: SMPP Bind timeout

2011-09-21 Thread Ioannis Canellos
>
> It's better to ask the Huawei guys... ;-)
>

>From my personal experience with people working on SMSCs (I've been doing
this for years) its faster and more reliable to trace the issue yourself.
They are usually up to the neck with tasks ...

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: SMPP Bind timeout

2011-09-20 Thread Ioannis Canellos
Some SMSCs will not response and at all, if they do not like the parameters
of the command you send them.
If I were you I would do two things:

a) Get a tcpdump and compare the two bind commands, to determine what's
different.
b) Ask the Alcatel guys, to determine which parameter you sent does not
comply with their SMSC.


-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: package org.apache.camel.core.xml is not exported (OSGi) - using Camel 2.7.3

2011-09-19 Thread Ioannis Canellos
Maybe bundling your extension as fragment bundle could help?
-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Qpid ObjectMessage problem

2011-09-06 Thread Ioannis Canellos
>
> "On Inspect, the method call works fine but fails in resumed debug
> execution."
>

If you deserialize the message with inspect, then its normal the it will
fail when you resume, since the object is already read.

-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Qpid ObjectMessage problem

2011-09-05 Thread Ioannis Canellos
Could you please paste the full stack trace?
-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
*


Re: Camel 2.7.1 graceful termination.

2011-05-20 Thread Ioannis Canellos
I am attaching a project that reproduces the issue.

The project is be deployed as a bundle on *karaf *(will also require an
activemq broker) or *servicemix* and contains two simple routes:

*Route 1*:
Consumes messages from an activemq queue and load balances the messages
between two log endpoints.

*Route 2*:
Consumes messages from an activemq queue and load balances the messages
between two activemq producer endpoints. This route uses XA transactions.

Instructions on how to reproduce it.
Once the bundle is started you can add a couple of messages to
"message.outbound" queue, wait till they are all consumed and then stop the
bundle. You will notice that a consumer will stay alive on that queue even
if the bundle is stopped.

The same will happen if you add messages to the second route.

Please note that both routes will work perfect if they are on their own. I
think that this is a bug.

wdyt? Should I open a Jira?


-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*


camel-restarts-use-case.tar.gz
Description: GNU Zip compressed data


Re: Camel 2.7.1 graceful termination.

2011-05-19 Thread Ioannis Canellos
Hi Ashwin,

thanks for the quick response. This is indeed a strange behavior. I will try
to create a use-case that reproduces the problem and let you know.

 --
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*


Camel 2.7.1 graceful termination.

2011-05-18 Thread Ioannis Canellos
Hi,

I am using Camel 2.7.1 with Karaf 2.2.0 and I am experiencing a weird
behavior. When I restart the bundles that contain my routes *(declared using
camel-spring not camel-blueprint) *I see that* the routes do not stop
gracefully.

*What do I mean by not gracefully? I use camel-jms to consume messages. When
I stop my bundle I still see the old consumers being active to the queue.
When I restart* my bundle I see double the number of consumers.

This is a behavior I don't remember having with camel 2.5.0 which was the
version I used before upgrading to 2.7.1.

Do I miss some new configuration option introduced after 2.5.0? Is it a bug?

*Thanks in advance,

*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*


Re: Blueprint and XSLT

2011-05-02 Thread Ioannis Canellos
Thanks for the response. I create a JIRA
https://issues.apache.org/jira/browse/CAMEL-3934.

Claus, can you please point me to the right place, in order to read more
about the spring resource abstraction?



On Tue, May 3, 2011 at 8:23 AM, Claus Ibsen  wrote:

> Hi
>
> The xslt component is part of camel-spring and uses the spring
> resource abstraction. Hence why it works when using spring-dm.
> With blueprint its another story. So there may be something failing to
> have it load a resource on the classpath.
>
> Obviously it would be great if the community stepped up and helped with
> https://issues.apache.org/jira/browse/CAMEL-3272
>
> To provide more blueprint unit tests. Essentially we need to 2x tests with
> osgi
> - spring-dm
> - blueprint
>
> So its in fact a massive task to do. And we do have a fair amount of
> tests already.
>
> I suggest to create a JIRA for the xslt issue so we can try to address
> that for Camel 2.8.
>
>
> On Mon, May 2, 2011 at 7:53 PM, Ioannis Canellos 
> wrote:
> > Halo Jean Baptiste,
> > No, I didn't try such statements! I think that it wouldn't help because
> the
> > class loader which tries to load the resource is the boot class loader
> and
> > not the bundle classloader.
> >
> >
> >
> > On Mon, May 2, 2011 at 8:43 PM, Jean-Baptiste Onofré  >wrote:
> >
> >> Hi Ioannis,
> >>
> >> did you try using Bundle-Classpath statement in MANIFEST.
> >>
> >> Something like Bundle-Classpath: ., META-INF/my/xslt
> >>
> >> Regards
> >> JB
> >>
> >>
> >> On 05/02/2011 07:28 PM, Ioannis Canellos wrote:
> >>
> >>> I am building a camel route using camel-blueprint inside karaf.
> >>>
> >>> My route contains an xslt transfromation, but it seems that the Xslt
> >>> component can't find my xslt document, which is inside the bundle that
> >>> contains the routes.
> >>>
> >>> The problem is that I get a FileNotFoundException
> >>> java.io.FileNotFoundException: class path resource
> >>> [net/iocanel/xslt/mint-mo-xslt.xsl] cannot be opened because it does
> not
> >>> exist
> >>> at
> >>>
> >>>
> org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)
> >>>
> >>>
> >>> at
> >>>
> >>>
> org.apache.camel.component.xslt.XsltComponent.loadResource(XsltComponent.java:156)
> >>>
> >>>
> >>> Note: That my bundle does not import the package which contains the
> xslt.
> >>>
> >>>
> >
> >
> > --
> > *Ioannis Canellos*
> > *
> >  http://iocanel.blogspot.com
> >
> > Apache Karaf <http://karaf.apache.org/> Committer & PMC
> > Apache ServiceMix <http://servicemix.apache.org/>  Committer
> > *
> >
>
>
>
> --
> Claus Ibsen
> -
> FuseSource
> Email: cib...@fusesource.com
> Web: http://fusesource.com
> CamelOne 2011: http://fusesource.com/camelone2011/
> Twitter: davsclaus
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>



-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*


Re: Blueprint and XSLT

2011-05-02 Thread Ioannis Canellos
Halo Jean Baptiste,
No, I didn't try such statements! I think that it wouldn't help because the
class loader which tries to load the resource is the boot class loader and
not the bundle classloader.



On Mon, May 2, 2011 at 8:43 PM, Jean-Baptiste Onofré wrote:

> Hi Ioannis,
>
> did you try using Bundle-Classpath statement in MANIFEST.
>
> Something like Bundle-Classpath: ., META-INF/my/xslt
>
> Regards
> JB
>
>
> On 05/02/2011 07:28 PM, Ioannis Canellos wrote:
>
>> I am building a camel route using camel-blueprint inside karaf.
>>
>> My route contains an xslt transfromation, but it seems that the Xslt
>> component can't find my xslt document, which is inside the bundle that
>> contains the routes.
>>
>> The problem is that I get a FileNotFoundException
>> java.io.FileNotFoundException: class path resource
>> [net/iocanel/xslt/mint-mo-xslt.xsl] cannot be opened because it does not
>> exist
>> at
>>
>> org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)
>>
>>
>> at
>>
>> org.apache.camel.component.xslt.XsltComponent.loadResource(XsltComponent.java:156)
>>
>>
>> Note: That my bundle does not import the package which contains the xslt.
>>
>>


-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*


Blueprint and XSLT

2011-05-02 Thread Ioannis Canellos
I am building a camel route using camel-blueprint inside karaf.

My route contains an xslt transfromation, but it seems that the Xslt
component can't find my xslt document, which is inside the bundle that
contains the routes.

The problem is that I get a FileNotFoundException
java.io.FileNotFoundException: class path resource
[net/iocanel/xslt/mint-mo-xslt.xsl] cannot be opened because it does not
exist
at
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)


at
org.apache.camel.component.xslt.XsltComponent.loadResource(XsltComponent.java:156)


Note: That my bundle does not import the package which contains the xslt.

-- 
*Ioannis Canellos*
*
 http://iocanel.blogspot.com

Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache ServiceMix <http://servicemix.apache.org/>  Committer
*


Re: Producer Template and number of ActiveMQ Producers.

2011-02-23 Thread Ioannis Canellos
Thanks for your response.
I declared the template in the camel context, and injected it using spring's
@Autowried / @Qualifier and I think it works (currently testing it).

I guess that a similar thing happens to consumers to *(I use @Consume
annotation on a method)*. Any ideas on how I could configure the cache size
in this case?

Thanks again

On Wed, Feb 23, 2011 at 8:43 AM, Taariq Levack  wrote:

> Hi
>
> This is in the FAQ[1]
>
> In the first case the route is setup once and the template is created once.
> How is @Produce used? If it's in a singleton it will also only be injected
> once,
> but I assume it's in a bean invocation.
>
> [1] Apache Camel: Why does Camel use too many threads with ProducerTemplate
> <
> http://camel.apache.org/why-does-camel-use-too-many-threads-with-producertemplate.html
> >
>
> Taariq Levack
>
> -Original Message-
> From: Ioannis Canellos [mailto:ioca...@gmail.com]
> Sent: 22 February 2011 20:55
> To: users@camel.apache.org
> Subject: Producer Template and number of ActiveMQ Producers.
>
> I am building an application that uses camel and activemq.
> Some of my routes are defined using spring and I also make uses of the
> @Produce annotations.
>
> I notice that on the when I add messages on an activemq queue using the
> "to"
> element a single producer is created on activemq.
> When I add messages using the @Produce annotation I notice multiple
> activemq producers.
>
> Are these two linked in any way? Can configure its behaviour somehow?
>
> Thanks in advance,
> *Ioannis Canellos*
>



-- 
*Ioannis Canellos*
http://iocanel.blogspot.com

Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>


Producer Template and number of ActiveMQ Producers.

2011-02-22 Thread Ioannis Canellos
I am building an application that uses camel and activemq.
Some of my routes are defined using spring and I also make uses of the
@Produce annotations.

I notice that on the when I add messages on an activemq queue using the "to"
element a single producer is created on activemq.
When I add messages using the @Produce annotation I notice multiple activemq
producers.

Are these two linked in any way? Can configure its behaviour somehow?

Thanks in advance,
*Ioannis Canellos*


Re: Performance issues when using camel-activemq and transactions.

2010-12-13 Thread Ioannis Canellos
Thanks Claus!

On Mon, Dec 13, 2010 at 4:53 PM, Claus Ibsen  wrote:

> Hi
>
> See also AMQ FAQs
> http://activemq.apache.org/should-i-use-transactions.html
>
>
>
> On Thu, Dec 9, 2010 at 2:07 PM, Ioannis Canellos 
> wrote:
> > Hi Claus,
> >
> > Here are the results of the tests I run:
> >
> > Producer Only:  10msg/sec (transacted=true) / 2800 msg/sec
> > (transacted=false).
> > Consumer Only: 10msg/sec transacted=true) / ~500 msg/sec
> (transacted=false).
> >
> > The results of the mixed is the ones I initially posted.
> >
> > The difference is so big and I have tried almost everything, but whenever
> I
> > set "transacted=true" there is nothing on earth that can give me the
> > slightest performance increase.
> >
> >
> > On Thu, Dec 9, 2010 at 11:47 AM, Claus Ibsen 
> wrote:
> >
> >> When using transacted=true then the commit is sync, and thus the
> >> consumer side is impacted.
> >>
> >> So you should be able to send as fast as you can. But the consumer
> >> side is slower due the begin/commit pair in the transaction is
> >> synchronous.
> >>
> >> If you use camel-jms on the consumer side to consume and process the
> >> messages, then its based on top of Spring JMS.
> >> And all the logic and code is synchronous and thus slower.
> >>
> >> Maybe you can do 3 performance tests.
> >> a - send only to the queue
> >> b - consume only from the queue (the queue is preloaded)
> >> c - both send and consume at the same time
> >>
> >>
> >>
> >> On Thu, Dec 9, 2010 at 10:28 AM, Ioannis Canellos 
> >> wrote:
> >> > I think that when I set "transacted=true" then it ignores the property
> >> > "useAsyncSend=true" set on the connection factory.
> >> >
> >> > I am not sure if those two properties can be used together, but they
> >> > probably can't and this why I have performance issues.
> >> >
> >> >
> >> > On Tue, Dec 7, 2010 at 3:46 PM, Ioannis Canellos 
> >> wrote:
> >> >
> >> >> I will do so.
> >> >>
> >> >> I will also check the tx scenarios described in the "Camel in
> Action".
> >> >>
> >> >>
> >> >>
> >> >> On Tue, Dec 7, 2010 at 3:36 PM, Claus Ibsen 
> >> wrote:
> >> >>
> >> >>> Check some of the TX unit tets in camel-jms and compare notes.
> >> >>>
> >> >>>
> >> >>> On Tue, Dec 7, 2010 at 2:20 PM, Ioannis Canellos  >
> >> >>> wrote:
> >> >>> > Hi Claus,
> >> >>> >
> >> >>> > thanks for your response.
> >> >>> >
> >> >>> > I had the luck to watch that webinar and I also have the slides,
> the
> >> do
> >> >>> help
> >> >>> > in increasing the overall performance. But when I set
> >> transaction=true
> >> >>> on
> >> >>> > the activemq component, the performance can degrade form 2000
> msg/sec
> >> to
> >> >>> 5
> >> >>> > msg/sec.
> >> >>> >
> >> >>> > Regarding the number of connections, even if I increase it to 10,
> 20
> >> or
> >> >>> more
> >> >>> > I don't see any difference at all.
> >> >>> >
> >> >>> > I feel that the problem is in my camel configuration (not
> activemq)
> >> >>> since I
> >> >>> > didn't have issues when I was use servicemix and activemq.
> >> >>> >
> >> >>> > Thanks again!
> >> >>> >
> >> >>> > On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen <
> claus.ib...@gmail.com>
> >> >>> wrote:
> >> >>> >
> >> >>> >> Ask at AMQ forum as its generally how to optimize and setup AMQ.
> >> >>> >>
> >> >>> >> Also check out maybe some of the webinars by Rob Davies on
> advanced
> >> >>> >> and high performance AMQ stuff
> >> >>> >> The webinars is avail at fusesource website.
> >> >>> >>
> >> >>> >> And it looks like you only got 1 connection in your pool?
> >> &g

Re: Performance issues when using camel-activemq and transactions.

2010-12-09 Thread Ioannis Canellos
Hi Claus,

Here are the results of the tests I run:

Producer Only:  10msg/sec (transacted=true) / 2800 msg/sec
(transacted=false).
Consumer Only: 10msg/sec transacted=true) / ~500 msg/sec (transacted=false).

The results of the mixed is the ones I initially posted.

The difference is so big and I have tried almost everything, but whenever I
set "transacted=true" there is nothing on earth that can give me the
slightest performance increase.


On Thu, Dec 9, 2010 at 11:47 AM, Claus Ibsen  wrote:

> When using transacted=true then the commit is sync, and thus the
> consumer side is impacted.
>
> So you should be able to send as fast as you can. But the consumer
> side is slower due the begin/commit pair in the transaction is
> synchronous.
>
> If you use camel-jms on the consumer side to consume and process the
> messages, then its based on top of Spring JMS.
> And all the logic and code is synchronous and thus slower.
>
> Maybe you can do 3 performance tests.
> a - send only to the queue
> b - consume only from the queue (the queue is preloaded)
> c - both send and consume at the same time
>
>
>
> On Thu, Dec 9, 2010 at 10:28 AM, Ioannis Canellos 
> wrote:
> > I think that when I set "transacted=true" then it ignores the property
> > "useAsyncSend=true" set on the connection factory.
> >
> > I am not sure if those two properties can be used together, but they
> > probably can't and this why I have performance issues.
> >
> >
> > On Tue, Dec 7, 2010 at 3:46 PM, Ioannis Canellos 
> wrote:
> >
> >> I will do so.
> >>
> >> I will also check the tx scenarios described in the "Camel in Action".
> >>
> >>
> >>
> >> On Tue, Dec 7, 2010 at 3:36 PM, Claus Ibsen 
> wrote:
> >>
> >>> Check some of the TX unit tets in camel-jms and compare notes.
> >>>
> >>>
> >>> On Tue, Dec 7, 2010 at 2:20 PM, Ioannis Canellos 
> >>> wrote:
> >>> > Hi Claus,
> >>> >
> >>> > thanks for your response.
> >>> >
> >>> > I had the luck to watch that webinar and I also have the slides, the
> do
> >>> help
> >>> > in increasing the overall performance. But when I set
> transaction=true
> >>> on
> >>> > the activemq component, the performance can degrade form 2000 msg/sec
> to
> >>> 5
> >>> > msg/sec.
> >>> >
> >>> > Regarding the number of connections, even if I increase it to 10, 20
> or
> >>> more
> >>> > I don't see any difference at all.
> >>> >
> >>> > I feel that the problem is in my camel configuration (not activemq)
> >>> since I
> >>> > didn't have issues when I was use servicemix and activemq.
> >>> >
> >>> > Thanks again!
> >>> >
> >>> > On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen 
> >>> wrote:
> >>> >
> >>> >> Ask at AMQ forum as its generally how to optimize and setup AMQ.
> >>> >>
> >>> >> Also check out maybe some of the webinars by Rob Davies on advanced
> >>> >> and high performance AMQ stuff
> >>> >> The webinars is avail at fusesource website.
> >>> >>
> >>> >> And it looks like you only got 1 connection in your pool?
> >>> >> maxConnections=1
> >>> >>
> >>> >>
> >>> >>
> >>> >> On Mon, Nov 29, 2010 at 10:38 AM, Ioannis Canellos <
> ioca...@gmail.com>
> >>> >> wrote:
> >>> >> > I am using camel 2.5.0 and activemq 5.4.0 to create a simple route
> of
> >>> the
> >>> >> > form dataset -> activemq:queue.in -> activemq:queue.out ->
> dataset.
> >>> >> > All are working fine and I the performance is more than 1K
> >>> messages/sec.
> >>> >> >
> >>> >> > However if I set transactions=true on the activemq component
> >>> >> configuration,
> >>> >> > then I experience serious performance issues (5 messages/sec).
> >>> >> >
> >>> >> > I am testing using camel:run maven plugin. My configuration is the
> >>> >> > following:
> >>> >> >
> >>> >> >  >>> >> >xmlns="http://www.springframewo

Re: Performance issues when using camel-activemq and transactions.

2010-12-09 Thread Ioannis Canellos
I think that when I set "transacted=true" then it ignores the property
"useAsyncSend=true" set on the connection factory.

I am not sure if those two properties can be used together, but they
probably can't and this why I have performance issues.


On Tue, Dec 7, 2010 at 3:46 PM, Ioannis Canellos  wrote:

> I will do so.
>
> I will also check the tx scenarios described in the "Camel in Action".
>
>
>
> On Tue, Dec 7, 2010 at 3:36 PM, Claus Ibsen  wrote:
>
>> Check some of the TX unit tets in camel-jms and compare notes.
>>
>>
>> On Tue, Dec 7, 2010 at 2:20 PM, Ioannis Canellos 
>> wrote:
>> > Hi Claus,
>> >
>> > thanks for your response.
>> >
>> > I had the luck to watch that webinar and I also have the slides, the do
>> help
>> > in increasing the overall performance. But when I set transaction=true
>> on
>> > the activemq component, the performance can degrade form 2000 msg/sec to
>> 5
>> > msg/sec.
>> >
>> > Regarding the number of connections, even if I increase it to 10, 20 or
>> more
>> > I don't see any difference at all.
>> >
>> > I feel that the problem is in my camel configuration (not activemq)
>> since I
>> > didn't have issues when I was use servicemix and activemq.
>> >
>> > Thanks again!
>> >
>> > On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen 
>> wrote:
>> >
>> >> Ask at AMQ forum as its generally how to optimize and setup AMQ.
>> >>
>> >> Also check out maybe some of the webinars by Rob Davies on advanced
>> >> and high performance AMQ stuff
>> >> The webinars is avail at fusesource website.
>> >>
>> >> And it looks like you only got 1 connection in your pool?
>> >> maxConnections=1
>> >>
>> >>
>> >>
>> >> On Mon, Nov 29, 2010 at 10:38 AM, Ioannis Canellos 
>> >> wrote:
>> >> > I am using camel 2.5.0 and activemq 5.4.0 to create a simple route of
>> the
>> >> > form dataset -> activemq:queue.in -> activemq:queue.out -> dataset.
>> >> > All are working fine and I the performance is more than 1K
>> messages/sec.
>> >> >
>> >> > However if I set transactions=true on the activemq component
>> >> configuration,
>> >> > then I experience serious performance issues (5 messages/sec).
>> >> >
>> >> > I am testing using camel:run maven plugin. My configuration is the
>> >> > following:
>> >> >
>> >> > > >> >xmlns="http://www.springframework.org/schema/beans";
>> >> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> >> >xmlns:amq="http://activemq.apache.org/schema/core";
>> >> >xmlns:camel="http://camel.apache.org/schema/spring";
>> >> >xmlns:context="http://www.springframework.org/schema/context";
>> >> >xmlns:aop="http://www.springframework.org/schema/aop";
>> >> >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://www.springframework.org/schema/context
>> >> > http://www.springframework.org/schema/context/spring-context-3.0.xsd
>> >> >http://www.springframework.org/schema/aop
>> >> > http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
>> >> >http://camel.apache.org/schema/spring
>> >> > http://camel.apache.org/schema/spring/camel-spring.xsd";>
>> >> >
>> >> >
>> >> >> >> >
>> >>
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>> >> >
>> >> >
>> >> >http://activemq.apache.org/schema/core
>> "
>> >> > brokerName="localhost" dataDirectory="data"
>> >> >useJmx="true" persistent="true" advisorySupport="false">
>> >> >
>> >> >
>> >

Re: Performance issues when using camel-activemq and transactions.

2010-12-07 Thread Ioannis Canellos
I will do so.

I will also check the tx scenarios described in the "Camel in Action".


On Tue, Dec 7, 2010 at 3:36 PM, Claus Ibsen  wrote:

> Check some of the TX unit tets in camel-jms and compare notes.
>
>
> On Tue, Dec 7, 2010 at 2:20 PM, Ioannis Canellos 
> wrote:
> > Hi Claus,
> >
> > thanks for your response.
> >
> > I had the luck to watch that webinar and I also have the slides, the do
> help
> > in increasing the overall performance. But when I set transaction=true on
> > the activemq component, the performance can degrade form 2000 msg/sec to
> 5
> > msg/sec.
> >
> > Regarding the number of connections, even if I increase it to 10, 20 or
> more
> > I don't see any difference at all.
> >
> > I feel that the problem is in my camel configuration (not activemq) since
> I
> > didn't have issues when I was use servicemix and activemq.
> >
> > Thanks again!
> >
> > On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen 
> wrote:
> >
> >> Ask at AMQ forum as its generally how to optimize and setup AMQ.
> >>
> >> Also check out maybe some of the webinars by Rob Davies on advanced
> >> and high performance AMQ stuff
> >> The webinars is avail at fusesource website.
> >>
> >> And it looks like you only got 1 connection in your pool?
> >> maxConnections=1
> >>
> >>
> >>
> >> On Mon, Nov 29, 2010 at 10:38 AM, Ioannis Canellos 
> >> wrote:
> >> > I am using camel 2.5.0 and activemq 5.4.0 to create a simple route of
> the
> >> > form dataset -> activemq:queue.in -> activemq:queue.out -> dataset.
> >> > All are working fine and I the performance is more than 1K
> messages/sec.
> >> >
> >> > However if I set transactions=true on the activemq component
> >> configuration,
> >> > then I experience serious performance issues (5 messages/sec).
> >> >
> >> > I am testing using camel:run maven plugin. My configuration is the
> >> > following:
> >> >
> >> >  >> >xmlns="http://www.springframework.org/schema/beans";
> >> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >> >xmlns:amq="http://activemq.apache.org/schema/core";
> >> >xmlns:camel="http://camel.apache.org/schema/spring";
> >> >xmlns:context="http://www.springframework.org/schema/context";
> >> >xmlns:aop="http://www.springframework.org/schema/aop";
> >> >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://www.springframework.org/schema/context
> >> > http://www.springframework.org/schema/context/spring-context-3.0.xsd
> >> >http://www.springframework.org/schema/aop
> >> > http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
> >> >http://camel.apache.org/schema/spring
> >> > http://camel.apache.org/schema/spring/camel-spring.xsd";>
> >> >
> >> >
> >> > >> >
> >>
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
> >> >
> >> >
> >> >http://activemq.apache.org/schema/core";
> >> > brokerName="localhost" dataDirectory="data"
> >> >useJmx="true" persistent="true" advisorySupport="false">
> >> >
> >> >
> >> >
> >> > >> > optimizedDispatch="true">
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >    
> >> > enableIndexWriteAsync="true"/>
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >http://camel.apache.org/schema/spring";
> >> > id="

Re: Performance issues when using camel-activemq and transactions.

2010-12-07 Thread Ioannis Canellos
Hi Claus,

thanks for your response.

I had the luck to watch that webinar and I also have the slides, the do help
in increasing the overall performance. But when I set transaction=true on
the activemq component, the performance can degrade form 2000 msg/sec to 5
msg/sec.

Regarding the number of connections, even if I increase it to 10, 20 or more
I don't see any difference at all.

I feel that the problem is in my camel configuration (not activemq) since I
didn't have issues when I was use servicemix and activemq.

Thanks again!

On Tue, Dec 7, 2010 at 3:08 PM, Claus Ibsen  wrote:

> Ask at AMQ forum as its generally how to optimize and setup AMQ.
>
> Also check out maybe some of the webinars by Rob Davies on advanced
> and high performance AMQ stuff
> The webinars is avail at fusesource website.
>
> And it looks like you only got 1 connection in your pool?
> maxConnections=1
>
>
>
> On Mon, Nov 29, 2010 at 10:38 AM, Ioannis Canellos 
> wrote:
> > I am using camel 2.5.0 and activemq 5.4.0 to create a simple route of the
> > form dataset -> activemq:queue.in -> activemq:queue.out -> dataset.
> > All are working fine and I the performance is more than 1K messages/sec.
> >
> > However if I set transactions=true on the activemq component
> configuration,
> > then I experience serious performance issues (5 messages/sec).
> >
> > I am testing using camel:run maven plugin. My configuration is the
> > following:
> >
> >  >xmlns="http://www.springframework.org/schema/beans";
> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >xmlns:amq="http://activemq.apache.org/schema/core";
> >xmlns:camel="http://camel.apache.org/schema/spring";
> >xmlns:context="http://www.springframework.org/schema/context";
> >xmlns:aop="http://www.springframework.org/schema/aop";
> >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://www.springframework.org/schema/context
> > http://www.springframework.org/schema/context/spring-context-3.0.xsd
> >http://www.springframework.org/schema/aop
> > http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
> >http://camel.apache.org/schema/spring
> > http://camel.apache.org/schema/spring/camel-spring.xsd";>
> >
> >
> > >
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
> >
> >
> >http://activemq.apache.org/schema/core";
> > brokerName="localhost" dataDirectory="data"
> >useJmx="true" persistent="true" advisorySupport="false">
> >
> >
> >
> > > optimizedDispatch="true">
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >http://camel.apache.org/schema/spring";
> > id="messaging" depends-on="broker">
> >
> >
> >    
> >
> >
> >
> >
> > > class="org.apache.activemq.camel.component.ActiveMQComponent">
> >
> >
> > value="AUTO_ACKNOWLEDGE"/>
> >
> >
> >
> >
> > > class="org.apache.activemq.ActiveMQConnectionFactory">
> >
> >
> >
> >
> > > class="org.apache.activemq.pool.PooledConnectionFactory">
> >
> >
> >
> >
> >
> >
> > > class="org.apache.camel.component.dataset.SimpleDataSet">
> >
> >
> >
> >
> > > class="org.jencks.factory.TransactionManagerFactoryBean"/>
> > 
> >
> >
> > --
> > *Ioannis Canellos*
> > http://iocanel.blogspot.com
> > Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>
> >
>
>
>
> --
> Claus Ibsen
> -
> FuseSource
> Email: cib...@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>



-- 
*Ioannis Canellos*
http://iocanel.blogspot.com

Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>


Re: Performance issues when using camel-activemq and transactions.

2010-12-07 Thread Ioannis Canellos
Thanks Charles for your response!

Even though the links you sent me are indeed useful, they didn't provide a
solution to my problem.

On Mon, Dec 6, 2010 at 1:54 PM, Charles Moulliard wrote:

>
> Hi Ioannis,
>
> Here are some links that could help you :
>
>
> http://fusesource.com/wiki/display/ProdInfo/FUSE+Message+Broker+Performance+Tuning+Guide
> http://fusesource.com/collateral/23/
>
> But using persistence really reduces performance on ActiveMq
>
> Regards,
>
> Charles
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Performance-issues-when-using-camel-activemq-and-transactions-tp3284122p3293902.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



-- 
*Ioannis Canellos*
http://iocanel.blogspot.com

Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>


Performance issues when using camel-activemq and transactions.

2010-11-29 Thread Ioannis Canellos
I am using camel 2.5.0 and activemq 5.4.0 to create a simple route of the
form dataset -> activemq:queue.in -> activemq:queue.out -> dataset.
All are working fine and I the performance is more than 1K messages/sec.

However if I set transactions=true on the activemq component configuration,
then I experience serious performance issues (5 messages/sec).

I am testing using camel:run maven plugin. My configuration is the
following:

http://www.springframework.org/schema/beans";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:amq="http://activemq.apache.org/schema/core";
xmlns:camel="http://camel.apache.org/schema/spring";
xmlns:context="http://www.springframework.org/schema/context";
xmlns:aop="http://www.springframework.org/schema/aop";
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://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd";>





http://activemq.apache.org/schema/core";
brokerName="localhost" dataDirectory="data"
useJmx="true" persistent="true" advisorySupport="false">






















http://camel.apache.org/schema/spring";
id="messaging" depends-on="broker">







    
    



























-- 
*Ioannis Canellos*
http://iocanel.blogspot.com
Integration Engineer @ Upstream S.A. <http://www.upstreamsystems.com>