Re: Camel Component for the OFTP2 protocol

2010-09-22 Thread Guillaume Nodet
I suppose the sources are those ones:
  
http://websvn.ow2.org/listing.php?repname=accordpath=/odetteftp/trunk/camel-oftp/
Haven't found any binaries though, even on the sonatype snapshot repo.

On Wed, Sep 22, 2010 at 07:16, Hadrian Zbarcea hzbar...@gmail.com wrote:
 Bruno,

 I couldn't find the code/jar/doc for the camel-oftp component. Odds are 
 interested users won't either (easily). Your blog post does not show what 
 jars are needed and where to find them either. Did I miss it?

 Could you please provide directed links?

 Thanks
 Hadrian


 On Sep 21, 2010, at 3:02 PM, Bruno Borges wrote:

 Hi all!

   Some of you might know the Odette File Transfer Protocol, also know as
 OFTP. My work @Neociclo aims to present it to the community and as part of
 that, I'm introducing now the Camel Component for the Accord Odette, a OFTP2
 Java library.

 If you want to know more, please follow this link: http://bit.ly/aLSitv

 Also, the project is hosted at http://accord.ow2.org/odetteftp

 The component is a Maven module of the Accord Odette project.

 Thank you,

 Bruno Borges
 www.brunoborges.com.br
 +55 21 76727099

 The glory of great men should always be
 measured by the means they have used to
 acquire it.
 - Francois de La Rochefoucauld





-- 
Cheers,
Guillaume Nodet

Blog: http://gnodet.blogspot.com/

Open Source SOA
http://fusesource.com


Re: Camel Component for the OFTP2 protocol

2010-09-22 Thread Bruno Borges
Hi Hadrian/Guillaume,

Yes, there's no binaries yet. We are still adding some features before
actually proceeding to an official release.
Also I still have to document the component and its parameters on
http://accord.ow2.org/odetteftp. By the way, this is the main website for
the project.
The component is a module of the Accord Odette framework, so if you want
to take a look at it, I suggest to check out the code.

$ svn checkout svn://svn.forge.objectweb.org/svnroot/accord/odetteftp/trunk


I'll keep the Camel mailing list posted about any other news.

Best regards,
Bruno Borges
www.brunoborges.com.br
+55 21 76727099

The glory of great men should always be
measured by the means they have used to
acquire it.
 - Francois de La Rochefoucauld



On Wed, Sep 22, 2010 at 5:35 AM, Guillaume Nodet gno...@gmail.com wrote:

 I suppose the sources are those ones:

 http://websvn.ow2.org/listing.php?repname=accordpath=/odetteftp/trunk/camel-oftp/
 Haven't found any binaries though, even on the sonatype snapshot repo.

 On Wed, Sep 22, 2010 at 07:16, Hadrian Zbarcea hzbar...@gmail.com wrote:
  Bruno,
 
  I couldn't find the code/jar/doc for the camel-oftp component. Odds are
 interested users won't either (easily). Your blog post does not show what
 jars are needed and where to find them either. Did I miss it?
 
  Could you please provide directed links?
 
  Thanks
  Hadrian
 
 
  On Sep 21, 2010, at 3:02 PM, Bruno Borges wrote:
 
  Hi all!
 
Some of you might know the Odette File Transfer Protocol, also know as
  OFTP. My work @Neociclo aims to present it to the community and as part
 of
  that, I'm introducing now the Camel Component for the Accord Odette, a
 OFTP2
  Java library.
 
  If you want to know more, please follow this link: http://bit.ly/aLSitv
 
  Also, the project is hosted at http://accord.ow2.org/odetteftp
 
  The component is a Maven module of the Accord Odette project.
 
  Thank you,
 
  Bruno Borges
  www.brunoborges.com.br
  +55 21 76727099
 
  The glory of great men should always be
  measured by the means they have used to
  acquire it.
  - Francois de La Rochefoucauld
 
 



 --
 Cheers,
 Guillaume Nodet
 
 Blog: http://gnodet.blogspot.com/
 
 Open Source SOA
 http://fusesource.com



Re: Endpoint consumer created only on from()

2010-09-22 Thread Bruno Borges
It is where I am right now.

The OFTP protocol states that is the sever who will let the client know
about incoming files.

What I'm doing now is remodeling the consumer (pollingConsumer) to first ask
the route if it wants to receive a file before actually downloading it.
So every poll will produce first an InOut message per file. The component
will let the route accept or reject the incoming file by faulting the
message or not, and to set in the Out message body an object of type File or
OutputStream. If the route does not override store location with an
OutputStream, consumer will exchange an InOnly message containing a
GenericFileFile. If this is not the case (route did override store
location with an OutputStream), then a second InOnly message containing
metadata about that file will be sent to the route.

What do you think?

Cheers

Bruno Borges
www.brunoborges.com.br
+55 21 76727099

The glory of great men should always be
measured by the means they have used to
acquire it.
 - Francois de La Rochefoucauld



On Wed, Sep 22, 2010 at 2:36 AM, Hadrian Zbarcea hzbar...@gmail.com wrote:

 The question is more what MEP does the remote server use.

 The choices you exposed seem to imply that the remote server would return
 incoming files, which would be an InOut.
 However, an ftp server or file system (an smtp server as well) use an
 InOnly pattern (on the producer side) so there is no response (or
 incomingFile).
 By not populating an out in the Exchange, camel will automatically send the
 original message (from the outbox) to the rest of the route, therefore you
 don't need to do anything on that side.
 To use incomingFiles you would need a PollingConsumer. That would be the
 enabler for the second route in Claus' example.

 Hadrian


 On Sep 22, 2010, at 12:32 AM, Claus Ibsen wrote:

  On Tue, Sep 21, 2010 at 8:24 PM, Bruno Borges bruno.bor...@gmail.com
 wrote:
  So, considering this route:
 
  from(file:/outbox).to(someRemoteServer).to(file:/home/inbox);
 
  What do you consider to be a better design:
 
  1- a) files from outbox goes to remoteServer-producer
  b) remoteServer-producer sends file to remote connection
  c) remoteServer-endpoint forward remote incomingFiles to this route
  rather files from outbox
 
  2- a) files from outbox goes to remoteServer-producer
  b) remoteServer-producer sends file to remote connection
  c) remoteServer-endpoint continue processing files from outbox to
 the
  rest of this route
 
 
 
  It really depends what the removeServer protocol is? Is it a file
  based then I would assume it would be more correct to do as the
  regular file/ftp does which would be.
 
  from(file:/outbox).to(someRemoteServer);
  from(someRemoteServer).to(file:/home/inbox);
 
  To have it in 2 routes. One as the producer, and the other as the
 consumer.
  They can work independent.
 
  And if you do this in Camel
  from(file:/outbox).to(someRemoteServer).to()
 
  Then you can continue route the file to  as well if you need it.
 
 
 
 
 
  Bruno Borges
  www.brunoborges.com.br
  +55 21 76727099
 
  The glory of great men should always be
  measured by the means they have used to
  acquire it.
   - Francois de La Rochefoucauld
 
 
 
  On Tue, Sep 21, 2010 at 2:57 PM, Claus Ibsen claus.ib...@gmail.com
 wrote:
 
  On Tue, Sep 21, 2010 at 7:17 PM, Bruno Borges bruno.bor...@gmail.com
  wrote:
  Is this statement correct?
 
  Are all endpoint's consumers only created when Endpoint is referenced
 by
  a
  from() ?
 
 
  consumers is created when they are needed. And from(xx) is created a
  consumer on endpoint xxx.
  Where as to(xxx) is created a producer on endpoint .
 
 
  Cheers,
  Bruno Borges
  www.brunoborges.com.br
  +55 21 76727099
 
  The glory of great men should always be
  measured by the means they have used to
  acquire it.
   - Francois de La Rochefoucauld
 
 
 
 
  --
  Claus Ibsen
  Apache Camel Committer
 
  Author of Camel in Action: http://www.manning.com/ibsen/
  Open Source Integration: http://fusesource.com
  Blog: http://davsclaus.blogspot.com/
  Twitter: http://twitter.com/davsclaus
 
 
 
 
 
  --
  Claus Ibsen
  Apache Camel Committer
 
  Author of Camel in Action: http://www.manning.com/ibsen/
  Open Source Integration: http://fusesource.com
  Blog: http://davsclaus.blogspot.com/
  Twitter: http://twitter.com/davsclaus




Using route as template to create dynamic routes

2010-09-22 Thread tide08

Hi,

Here is what I need, I suspect it is possible with camel but cannot figure
out how to achieve it. If anyone can give me some leads on how to achieve
this.

I have multiple routes, one of which is as below.

 camel:route
camel:from uri=queue:somequeue /
camel:to uri=bean:someBean /
camel:to uri=someProcessor /
 /camel:route

Depending on the environment, there can be more than entry points i.e.
multiple queue's to consume from. For ex: on QA env there is only 1 queue,
on Production there are 3 queues.

I see there are loadbalancer and dynamicRouter component but those are only
used in to part of route (atleast from examples I see).

So I was wondering if I can create routes dynamically using above route as
template. On start up, look at number of queue's and than for each queue
create copy of above route.

Or is there any better way to do this?

Thanks!


-- 
View this message in context: 
http://camel.465427.n5.nabble.com/Using-route-as-template-to-create-dynamic-routes-tp2850206p2850206.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Managing configuration in components, routes, projects

2010-09-22 Thread David Yang

I'm curious how others are solving the problem of managing configuration across 
various routes, components etc inside a Camel Context.

We've written some Components that themselves need to have connections to 
various DB's etc.  If we want to have a development and production properties 
for each one of those (so that they can be individually run/tested) but then 
use those Components in separate Route projects and a master CamelContext, what 
would you recommend.  They have other dependencies as well (directory 
locations, file resources, application binaries).

Basically, if this is my world, where should I keep all the configuration 
properties?

Master Context
- Route 1
- Comp A
- Comp B
- Route 2
- Comp A' (A with diff configuration)
- Comp C

I've thought about using JNDI, Jconfig or having some huge overwritable map 
Singleton.  Any thoughts/ideas?  Would really like hearing how others are 
solving this.

David



Re: Managing configuration in components, routes, projects

2010-09-22 Thread Lorrin Nelson
I'm using Spring.

PropertyPlaceholder magic makes Spring config vary based on deployment.

At a high level, the recipe is as follows. RouteBuilder rather than 
SpringRouteBuilder as parent class would work fine unless you want to call 
things like beanRef() instead of bean().

@Component //make sure route builder gets instantiated
class ... extends SpringRouteBuilder {

@Autowired  / @Resource ... to pull in configuration from Spring

@PostConstruct
public void init() throws Exception {
//if needed, register stuff:
this.camelContext.addComponent(jms-opps, this.amqc);

//finally, hook into Camel context:
this.camelContext.addRoutes(this);
}

Cheers
-Lorrin

On Sep 22, 2010, at 1:41 PM, David Yang wrote:

 
 I'm curious how others are solving the problem of managing configuration 
 across various routes, components etc inside a Camel Context.
 
 We've written some Components that themselves need to have connections to 
 various DB's etc.  If we want to have a development and production properties 
 for each one of those (so that they can be individually run/tested) but then 
 use those Components in separate Route projects and a master CamelContext, 
 what would you recommend.  They have other dependencies as well (directory 
 locations, file resources, application binaries).
 
 Basically, if this is my world, where should I keep all the configuration 
 properties?
 
 Master Context
   - Route 1
   - Comp A
   - Comp B
   - Route 2
   - Comp A' (A with diff configuration)
   - Comp C
 
 I've thought about using JNDI, Jconfig or having some huge overwritable map 
 Singleton.  Any thoughts/ideas?  Would really like hearing how others are 
 solving this.
 
 David