AW: Sending POJOs on Message Queues?

2010-09-06 Thread Schneider Christian
Hi Glen,

if you use jaxb then your classes do not have to implement Serializable. 
Instead they of course need to be serializeable by jaxb.

Btw. if you want to call a webservice with the jaxb object (Seems so as you add 
the soap by using xslt) then you should take a look at the camel soap 
dataformat. http://camel.apache.org/soap.html



Greetings

Christian
 




Christian Schneider
Informationsverarbeitung 
Business Solutions
Handel und Dispatching

Tel : +49-(0)721-63-15482

EnBW Systeme Infrastruktur Support GmbH
Sitz der Gesellschaft: Karlsruhe
Handelsregister: Amtsgericht Mannheim ­ HRB 108550
Vorsitzender des Aufsichtsrats: Dr. Bernhard Beck
Geschäftsführer: Jochen Adenau, Hans-Günther Meier


-Ursprüngliche Nachricht-
Von: Glen Mazza [mailto:glen.ma...@gmail.com] 
Gesendet: Montag, 6. September 2010 16:15
An: users@camel.apache.org
Betreff: Re: Sending POJOs on Message Queues?

But, just to confirm, do I need to make the JAXB objects serializable if 
I plan on placing them on a queue or reading them from a queue?  If 
that's the case (makes sense), I will update the Camel JAXB page to 
highlight that--it presently doesn't say anything about serializability.

I'm trying to practice working with JAXB, e.g.,

  from(jms:queue:numbersToDouble)
  .marshal(jaxbFormat)
  .to(xslt://AddSOAPEnvelope.xsl)
  .to(CXF_URI)

One more thing--if I needed to make the JAXB object serializable for it 
to work on a queue but didn't (or couldn't) do so, what could I replace 
from(jms:queue:numbersToDouble) above with to start the route?  The 
direct component?

Thanks,
Glen


Charles Moulliard wrote:
 Hi Glen,

 Using Camel, you can use marshal() or unmarshal() to transform objects --
 XML or XML -- objects

 http://camel.apache.org/jaxb.html

 Regards,

 Charles Moulliard

 Senior Enterprise Architect (J2EE, .NET, SOA)
 Apache Camel - Karaf - ServiceMix Committer
 ~~~
 Blog : http://cmoulliard.blogspot.com |  Twitter :
 http://twitter.com/cmoulliard
 Linkedin : http://www.linkedin.com/in/charlesmoulliard | Skype: cmoulliard


 On Mon, Sep 6, 2010 at 2:51 PM, Glen Mazza glen.ma...@gmail.com wrote:

   
 Oh!  I was thinking of sending the POJO to the queue where it would be
 subsequently read and marshalled into XML, but I can have the client-side
 marshal into XML and send the XML to the queue instead.  Makes sense...

 Thanks again,
 Glen


 Tarjei Huse wrote:

 
 On 09/06/2010 02:35 PM, Glen Mazza wrote:


   
 No, it's not serializable, but I believe with some effort I can make
 it so (The class is JAXB-generated  to support a web service call;
 JAXB has some extensions to allow for serializability).  Right now I'm
 trying to get the JAXB DataFormat to work (after sending the object to
 the queue I plan on marshalling it to XML) just for the sake of seeing
 JAXB working.

 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = , propOrder = {
   numberToDouble
 })
 @XmlRootElement(name = DoubleIt)
 public class DoubleIt {
   protected int numberToDouble;
   ... setter and getter for above...
 }

 I can look into JSON and/or Protobuf next -- is it primarily speed, or
 ease-of-use (don't have to worry about making the class serializable),
 or smaller message size that you recommend those other formats?


 
 In my experience using a format that is not dependent on both the client
 and server having the same version of the java object class makes it far
 easier to do updates and deployments. If you got an xml format that
 works that may fit the bill just fine.

 Another bonus is that you can use other languages to process the objects
 if needed.

 Regards,
 Tarjei



   
 Thanks,
 Glen

 Tarjei Huse wrote:


 
 Hi,
 On 09/06/2010 02:00 PM, Glen Mazza wrote:


   
 Hello, I'm new to ActiveMQ messaging queues and unsure if I can place
 and subsequently read POJO's from them.  I have no problems getting
 Strings to work it's just using POJO's that is creating the problem
 for me.


 
 You should be able to send Serializable objects through the queues, but
 I would like to suggest you look into other serialization methods like
 Protobufs or JSON.

 Is DoubleIt serializable?

 Regards,
 Tarjei


   

   
 

   



Re: AW: Sending POJOs on Message Queues?

2010-09-06 Thread Glen Mazza
Thanks, Christian.  It turned out I do need to have the JAXB objects 
implement the Serializable marker interface (like here[1], but I didn't 
need toString() as it suggests) if I'm going to be sending them or 
reading them from a jms queue.  But I don't need Serializable if I'm 
using the direct component.


I'll check the soap component next.

Glen

[1] 
http://stackoverflow.com/questions/1513972/how-to-generate-a-java-class-which-implements-serializable-interface-from-xsd-usi


Schneider Christian wrote:

Hi Glen,

if you use jaxb then your classes do not have to implement Serializable. 
Instead they of course need to be serializeable by jaxb.

Btw. if you want to call a webservice with the jaxb object (Seems so as you add 
the soap by using xslt) then you should take a look at the camel soap 
dataformat. http://camel.apache.org/soap.html



Greetings

Christian
 





Christian Schneider
Informationsverarbeitung 
Business Solutions

Handel und Dispatching

Tel : +49-(0)721-63-15482

EnBW Systeme Infrastruktur Support GmbH
Sitz der Gesellschaft: Karlsruhe
Handelsregister: Amtsgericht Mannheim ­ HRB 108550
Vorsitzender des Aufsichtsrats: Dr. Bernhard Beck
Geschäftsführer: Jochen Adenau, Hans-Günther Meier


-Ursprüngliche Nachricht-
Von: Glen Mazza [mailto:glen.ma...@gmail.com] 
Gesendet: Montag, 6. September 2010 16:15

An: users@camel.apache.org
Betreff: Re: Sending POJOs on Message Queues?

But, just to confirm, do I need to make the JAXB objects serializable if 
I plan on placing them on a queue or reading them from a queue?  If 
that's the case (makes sense), I will update the Camel JAXB page to 
highlight that--it presently doesn't say anything about serializability.


I'm trying to practice working with JAXB, e.g.,

  from(jms:queue:numbersToDouble)
  .marshal(jaxbFormat)
  .to(xslt://AddSOAPEnvelope.xsl)
  .to(CXF_URI)

One more thing--if I needed to make the JAXB object serializable for it 
to work on a queue but didn't (or couldn't) do so, what could I replace 
from(jms:queue:numbersToDouble) above with to start the route?  The 
direct component?


Thanks,
Glen


Charles Moulliard wrote:
  

Hi Glen,

Using Camel, you can use marshal() or unmarshal() to transform objects --
XML or XML -- objects

http://camel.apache.org/jaxb.html

Regards,

Charles Moulliard

Senior Enterprise Architect (J2EE, .NET, SOA)
Apache Camel - Karaf - ServiceMix Committer
~~~
Blog : http://cmoulliard.blogspot.com |  Twitter :
http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard | Skype: cmoulliard


On Mon, Sep 6, 2010 at 2:51 PM, Glen Mazza glen.ma...@gmail.com wrote:

  


Oh!  I was thinking of sending the POJO to the queue where it would be
subsequently read and marshalled into XML, but I can have the client-side
marshal into XML and send the XML to the queue instead.  Makes sense...

Thanks again,
Glen


Tarjei Huse wrote:


  

On 09/06/2010 02:35 PM, Glen Mazza wrote:


  


No, it's not serializable, but I believe with some effort I can make
it so (The class is JAXB-generated  to support a web service call;
JAXB has some extensions to allow for serializability).  Right now I'm
trying to get the JAXB DataFormat to work (after sending the object to
the queue I plan on marshalling it to XML) just for the sake of seeing
JAXB working.

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = , propOrder = {
  numberToDouble
})
@XmlRootElement(name = DoubleIt)
public class DoubleIt {
  protected int numberToDouble;
  ... setter and getter for above...
}

I can look into JSON and/or Protobuf next -- is it primarily speed, or
ease-of-use (don't have to worry about making the class serializable),
or smaller message size that you recommend those other formats?



  

In my experience using a format that is not dependent on both the client
and server having the same version of the java object class makes it far
easier to do updates and deployments. If you got an xml format that
works that may fit the bill just fine.

Another bonus is that you can use other languages to process the objects
if needed.

Regards,
Tarjei



  


Thanks,
Glen

Tarjei Huse wrote:



  

Hi,
On 09/06/2010 02:00 PM, Glen Mazza wrote:


  


Hello, I'm new to ActiveMQ messaging queues and unsure if I can place
and subsequently read POJO's from them.  I have no problems getting
Strings to work it's just using POJO's that is creating the problem
for me.



  

You should be able to send Serializable objects through the queues, but
I would like to suggest you look into other serialization methods like
Protobufs or JSON.

Is DoubleIt serializable?

Regards,
Tarjei