как ввести EntityManager между ухом - PullRequest
0 голосов
/ 02 июля 2010

Я использую JBoss 4.2.3 и развернул два ушка с именами triad-1.0.ear и reportservices-1.0.ear, дело в том, что я хочу использовать менеджер сущностей триады проекта в службах отчетов проекта. Это архитектура, которой придерживается JBoss:

triad-1.0.ear:
             triad-core-1.0.jar:
                                META-INF:
                                         MANIFEST.MF
                                         components.xml
                                         ejb-jar.xml
                                         jboss.xml 
                                         persistence.xml    
reportservices-1.0.ear:
              reportservices-core-1.0.jar:
                                          META-INF:
                                                  MANIFEST.MF
                                                  components.xml
                                                  ejb-jar.xml
                                                  jboss.xml
                                                  persistence.xml

это моя попытка сделать глобальный менеджер сущностей между ухом в файле persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
     Attention: Generated code! Do not modify by hand!
     Generated by: persistence.xml.vsl in andromda-ejb3-cartridge.
-->
<persistence 
    xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
                        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0">
    <persistence-unit name="triad">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/jdbc/triad</jta-data-source>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>
            <property name="jboss.entity.manager.jndi.name" value="java:/triadFactory"/>
            <property name="jboss.entity.manager.factory.jndi.name" value="java:/triadFactory"/>
        </properties>
    </persistence-unit>
</persistence>

Ответы [ 2 ]

0 голосов
/ 14 июля 2010

Я наконец-то решил проблему с внедрением, вам нужно установить эти свойства в файле persistence.xml и проверить в консоли jboss jmx, в опции представления jdni, если внедрение было правильным, вот пример сохранения.xml

<persistence  xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
    <persistence-unit name="example">  
        <provider>org.hibernate.ejb.HibernatePersistence</provider>  
        <jta-data-source>java:/jdbc/example</jta-data-source>  
        <properties>  
            <property name="hibernate.hbm2ddl.auto" value="update"/>  
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>  
            <property name="jboss.entity.manager.jndi.name" value="java:/example"/>  
            <property name="jboss.entity.manager.factory.jndi.name" value="java:/example"/>  
        </properties>  
    </persistence-unit>  
</persistence>`

свойства, разрешающие инъекцию: «jboss.entity.manager.jndi.name» и «jboss.entity.manager.factory.jndi.name»

данные имеют то же имя, что и источник данных, но вызваны его именем jdni, заданным в xml проекта источника данных.

0 голосов
/ 02 июля 2010

Извините, но, на мой взгляд, вопрос не имеет особого смысла (я даже не понимаю, что вы подразумеваете под "обнародовать persistence.xml" ). На всякий случай возможно:

  • для использования одного и того же источника данных в нескольких единицах персистентности.
  • для (повторного) использования устройства сохранения в нескольких применениях (при условии, что упаковка позволяет).

Мое предложение было бы объяснить, что вы хотели бы сделать на простом английском языке (пока забудьте технические детали).

...