【问题标题】:Camel JPA - No Persistence provider for EntityManager named camelCamel JPA - 没有名为 camel 的 EntityManager 的持久性提供程序
【发布时间】:2014-01-24 16:37:04
【问题描述】:

我正在尝试使以下代码正常工作,以便可以从 JPA 实体中使用。

String DATASOURCE_CONTEXT = "java:jboss/datasources/WikiDS"; 

Connection result = null; 
DataSource datasource = null; 

try { 
Context initialContext = new InitialContext(); 
   datasource = (DataSource)initialContext.lookup(DATASOURCE_CONTEXT); 

   if (datasource == null) { 
    System.out.println("Data source is null"); 
   } 
   else { 
    System.out.println("Data source is OK!!!"); 
   } 
} 
catch(NamingException ex) { 
System.out.println("Naming exception is: " + ex.getMessage()); 
} 

SimpleRegistry reg = new SimpleRegistry() ; 
reg.put("myDataSource",datasource); 

CamelContext context = new DefaultCamelContext(reg); 

    ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false"); 
    context.addComponent("test-jms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); 
    context.addRoutes(new RouteBuilder() { 
        public void configure() { 
            from("jpa://org.apache.camel.example.jmstofile?consumer.namedQuery=step1&consumeDelete=false").to("file://test"); 
        } 
    }); 

    ProducerTemplate template = context.createProducerTemplate(); 
    context.start(); 

无论我做什么,我都会得到以下异常。

[错误] 无法在项目 camel-example-jms-file 上执行目标 org.codehaus.mojo:exec-maven-plugin:1.1.1:java (default-cli):执行 Java 类时发生异常. null:InvocationTargetException:没有名为 camel 的 EntityManager 的持久性提供程序。

任何想法如何解决这个问题?

问候,

肖恩

【问题讨论】:

    标签: jpa apache-camel


    【解决方案1】:

    &persistenceUnit=<name-of-your-unit> 添加到您的URI,其中<name-of-your-unit>persistence.xml 中给出的持久性单元的名称。

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 2020-02-06
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 2014-12-15
      • 2011-03-14
      • 1970-01-01
      • 2015-11-08
      相关资源
      最近更新 更多