|
JPA has been edited by Claus Ibsen (Apr 28, 2009). Content:JPA ComponentThe jpa: component allows you to work with databases using JPA (EJB 3 Persistence) such as for working with OpenJPA, Hibernate, TopLink to work with relational databases. Sending to the endpointSending POJOs to the JPA endpoint inserts entities into the database. The body of the message is assumed to be an entity bean (i.e. a POJO with an @Entity If the body does not contain an entity bean then use a Message Translator in front of the endpoint to perform the necessary conversion first. Consuming from the endpointConsuming messages removes (or updates) entities in the database. This allows you to use a database table as a logical queue, consumers take messages from the queue and then delete/update them to logically remove them from the queue. If you do not wish to delete the entity when it has been processed you can specify consumeDelete=false on the URI. This will result in the entity being processed each poll. If you would rather perform some update on the entity to mark it as processed (such as to exclude it from a future query) then you can annotate a method with @Consumed URI formatjpa:[entityClassName] For sending to the endpoint, the entityClassName is optional. If specified it is used to help use the Type Converter to ensure the body is of the correct type.
Configuring EntityManagerFactoryYou can configure the EntityManagerFactory to use on the JpaComponent itself. For instance in Spring XML: <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent"> <property name="entityManagerFactory" ref="myEMFactory"/> </bean> Configuring TransactionManagerYou can configure the TransactionManager to use on the JpaComponent itself. For instance in Spring XML: <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent"> <property name="entityManagerFactory" ref="myEMFactory"/> <property name="transactionManager" ref="myTransactionManager"/> </bean> ExampleSee Tracer Example for an example using JPA to store traced messages into a database. See Also |
Unsubscribe or edit your notifications preferences
