2017-11-14 4 views
1

私はjsfとejbsを使ってjee(Jboss 6.0.1)のプロジェクトを持っています。春データcdi複数永続ユニットエラー

私はcdiと1つのパーシスタンスユニットでバネデータを問題なく使用していました。 永続ユニットをスプリングデータに挿入する設定。

public class CdiConfig { 
    @Produces 
    @Dependent 
    @PersistenceContext(unitName = "simje") 
    private EntityManager entityManager; 

私はpersistence.xml( "sigroUnit")に別の永続ユニットを持っています。だから、私は

持続性のunitNameが指定されており、アプリケーション配備で2つの永続 単位の定義がある

「simje.ear」はなかった私が試したそうだJBossへの私のアプリケーションを展開しようとしたとき他のパーシスタンスユニットと同じ設定を作成します。

@Produces 
    @Dependent 
    @PersistenceContext(unitName = "sigro") 
    private EntityManager entityManagerSigro; 

私はまだjbossからエラーが発生しています。

持続性のunitNameが指定されていませんし、アプリケーション展開で2つの永続 単位の定義は

誰もがどのようにその問題を解決するために、任意のideiaを持っている「simje.ear」がありますか?

マイ永続

<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_2_0.xsd" 
    version="2.0"> 
    <persistence-unit name="simje"> 
     <jta-data-source>java:/SimjeDS</jta-data-source> 


     <!-- Entidades mapeados para o projeto devem ser adicionadas com o fullname --> 
     <!-- <class>br.gov.cef.projeto.domain.enidade.Entidade</class> --> 

     <!-- Entidades do modulo SIICO --> 
     <class>br.gov.cef.siico.domain.endereco.Localidade</class> 
     <class>br.gov.cef.siico.domain.endereco.MunicipioIbge</class> 
     <class>br.gov.cef.siico.domain.endereco.MunicipioIbgePK</class> 
     <class>br.gov.cef.siico.domain.endereco.Regiao</class> 
     <class>br.gov.cef.siico.domain.endereco.Uf</class> 
     <class>br.gov.cef.siico.domain.unidade.Unidade</class> 
     <class>br.gov.cef.siico.domain.unidade.VinculoUnidade</class> 
     <class>br.gov.cef.siico.domain.unidade.TipoUnidade</class> 
     <class>br.gov.cef.siico.domain.unidade.ResponsavelUnidadeCaixa</class> 
     <class>br.gov.cef.siico.domain.empregado.EmpregadoCaixa</class> 
     <class>br.gov.cef.siico.domain.empregado.Funcao</class> 
     <class>br.gov.cef.siico.domain.empregado.Cargo</class> 

     <!-- Entidades SIMJE --> 
     <class>br.gov.simje.domain.Tribunal</class> 
     <class>br.gov.simje.domain.Certificado</class> 
     <class>br.gov.simje.domain.Contato</class> 
     <class>br.gov.simje.domain.ParametroSistema</class> 

     <exclude-unlisted-classes>false</exclude-unlisted-classes> 

     <properties> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.format_sql" value="true" /> 
      <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> 
      <property name="hibernate.hbm2ddl.auto" value="validate" /> 
      <property name="hibernate.jdbc.batch_size" value="600" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /> 
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider" /> 
      <property name="hibernate.default_schema" value="pcpsm001" /> 
     </properties> 
    </persistence-unit> 


<persistence-unit name="sigro"> 
     <jta-data-source>java:/SigroDS</jta-data-source> 

     <!-- Entidades SIGRO --> 
     <class>br.gov.cef.sigro.domain.linhanegocio.LinhaNegocio</class> 
     <class>br.gov.cef.sigro.domain.linhanegocio.LinhaNegocioPrincipal</class> 
     <class>br.gov.cef.sigro.domain.linhanegocio.LinhaNegocioPrincipalPK</class> 
     <class>br.gov.cef.sigro.domain.unidade.ResponsabilidadeUnidade</class> 
     <class>br.gov.cef.sigro.domain.siico.UnidadeSigro</class> 
     <class>br.gov.cef.sigro.domain.siico.GestaoProdutoSigro</class> 
     <class>br.gov.cef.sigro.domain.siico.ProdutoSigro</class> 
     <class>br.gov.cef.sigro.domain.informacao.FonteInformacao</class> 
     <class>br.gov.cef.sigro.domain.perda.OrigemPerda</class> 
     <class>br.gov.cef.sigro.domain.risco.CategoriaRisco</class> 
     <class>br.gov.cef.sigro.domain.provisao.GrupoProvisao</class> 
     <class>br.gov.cef.sigro.domain.macroprocesso.MacroProcesso</class> 
     <class>br.gov.cef.sigro.domain.tipogestao.TipoGestao</class> 
     <class>br.gov.cef.sigro.domain.provisao.IndicadorSucessoAcao</class> 
     <class>br.gov.cef.sigro.domain.perda.ItemRegistroPerda</class> 
     <class>br.gov.cef.sigro.domain.lancamento.LancamentoContabilClassificado</class> 
     <class>br.gov.cef.sigro.domain.lancamento.LancamentoContabilPendenteAprovacao</class> 
     <class>br.gov.cef.sigro.domain.lancamento.AutorizarLancamentoForaPrazo</class> 
     <class>br.gov.cef.sigro.domain.evento.EventoContabil</class> 
     <class>br.gov.cef.sigro.domain.macroprocesso.MacroProcessoGestao</class> 
     <class>br.gov.cef.sigro.domain.unidade.UnidadeTipoGestao</class> 
     <class>br.gov.cef.sigro.domain.provisao.RegistroProvisao</class> 
     <class>br.gov.cef.sigro.domain.provisao.TipoLancamentoProvisao</class> 
     <class>br.gov.cef.sigro.domain.planoconta.PlanoConta</class> 
     <class>br.gov.cef.sigro.domain.risco.EventoRisco</class> 
     <class>br.gov.cef.sigro.domain.siico.OperacaoBancaria</class> 
     <class>br.gov.cef.sigro.domain.linhanegocio.LinhaNegocioOperacaoBancaria</class> 
     <class>br.gov.cef.sigro.domain.produto.ProdutoOperacaoBancaria</class> 
     <class>br.gov.cef.sigro.domain.lancamento.ModalidadeLancamentoPerda</class> 
     <class>br.gov.cef.sigro.domain.perda.RegistroPerda</class> 
     <class>br.gov.cef.sigro.domain.perda.Conciliacao</class> 
     <class>br.gov.cef.sigro.domain.evento.RoteiroContabil</class> 
     <class>br.gov.cef.sigro.domain.evento.EventoContabilProduto</class> 
     <class>br.gov.cef.sigro.domain.evento.EventoExterno</class> 
     <class>br.gov.cef.sigro.domain.evento.GestaoEventoContabil</class> 
     <class>br.gov.cef.sigro.domain.risco.EventoRiscoEventoContabil</class> 
     <class>br.gov.cef.sigro.domain.arquivo.ControleArquivoImportado</class> 
     <class>br.gov.cef.sigro.domain.provisao.GrupoProvisaoEventoContabil</class> 
     <class>br.gov.cef.sigro.domain.beicf.Instituicao</class> 
     <class>br.gov.cef.sigro.domain.beicf.CategoriaBeicf</class> 
     <class>br.gov.cef.sigro.domain.beicf.Beicf</class> 
     <class>br.gov.cef.sigro.domain.beicf.RegistroBeicf</class> 
     <class>br.gov.cef.sigro.domain.parametro.Parametro</class> 
     <class>br.gov.cef.sigro.domain.produto.SubContaProduto</class> 
     <class>br.gov.cef.sigro.domain.risco.QuestionarioRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.PerguntaRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.MapeamentoRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.QuestionarioPerguntaRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.QuestionarioCategoriaRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.CategoriaQuestaoRisco</class> 
     <class>br.gov.cef.sigro.domain.autoavaliacao.PesquisaAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.autoavaliacao.PesquisaAutoavaliacaoUnidade</class> 
     <class>br.gov.cef.sigro.domain.autoavaliacao.RespostaQuestionarioAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.autoavaliacao.DetalheRespostaQuestionario</class> 
     <class>br.gov.cef.sigro.domain.risco.MapeamentoUnidadeEnvolvida</class> 
     <class>br.gov.cef.sigro.domain.risco.MapeamentoRiscoSistema</class> 
     <class>br.gov.cef.sigro.domain.risco.MapeamentoRiscoProduto</class> 
     <class>br.gov.cef.sigro.domain.risco.RespostaAvaliacaoRisco</class> 
     <class>br.gov.cef.sigro.domain.parametro.ParametroMensagemEmail</class> 
     <class>br.gov.cef.sigro.domain.lancamento.SituacaoAgendamentoLancamentoContabil</class> 
     <class>br.gov.cef.sigro.domain.lancamento.AgendamentoImportacaoLancamentoContabil</class> 
     <class>br.gov.cef.sigro.domain.evento.ClassificacaoEventoContabilConta</class> 
     <class>br.gov.cef.sigro.domain.matrizrisco.MatrizRisco</class> 
     <class>br.gov.cef.sigro.domain.matrizrisco.DetalheMatrizRisco</class> 
     <class>br.gov.cef.sigro.domain.matrizrisco.MatrizRiscoPesquisaAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.matrizrisco.MatrizRiscoPesquisaAutoavaliacaoPK</class> 
     <class>br.gov.cef.sigro.domain.escalaimpacto.EscalaImpactoAutoAvaliacao</class> 
     <class>br.gov.cef.sigro.domain.recomendacao.RecomendacaoPadrao</class> 
     <class>br.gov.cef.sigro.domain.recomendacao.RecomendacaoEvento</class> 
     <class>br.gov.cef.sigro.domain.autoavaliacao.NivelImpactoAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.transferencia.TransferenciaResponsabilidade</class> 
     <class>br.gov.cef.sigro.domain.questionarioautoavaliacao.QuestaoAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.questionarioautoavaliacao.QuestionarioAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.questionarioautoavaliacao.QuestionarioQuestaoAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.questionarioautoavaliacao.AlternativaQuestaoAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.unidade.RepresentacaoUnidade</class> 
     <class>br.gov.cef.sigro.domain.unidade.RepresentacaoUnidadePK</class> 
     <class>br.gov.cef.sigro.domain.transferencia.ItemTransferenciaResponsabilidade</class> 
     <class>br.gov.cef.sigro.domain.lancamento.basehistorica.LancamentoContabilCredito</class> 
     <class>br.gov.cef.sigro.domain.lancamento.basehistorica.LancamentoContabilDebito</class> 
     <class>br.gov.cef.sigro.domain.risco.EtapaMapeamentoRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.EtapaMapeamentoRiscoPK</class> 
     <class>br.gov.cef.sigro.domain.questionarioautoavaliacao.ParametroQuestaoAutoavaliacao</class> 
     <class>br.gov.cef.sigro.domain.risco.PesquisaAvaliacaoRisco</class> 
     <class>br.gov.cef.sigro.domain.risco.PesquisaAvaliacaoRiscoUnidade</class> 
     <class>br.gov.cef.sigro.domain.risco.ParametroFaixaNotaAvaliacaoRisco</class> 
     <class>br.gov.cef.sigro.domain.perda.RegistroPerdaBaseHistorica</class> 
     <class>br.gov.cef.sigro.domain.perda.ItemRegistroPerdaBaseHistorica</class> 
     <class>br.gov.cef.sigro.domain.lancamento.AgendamentoImportacaoPerda</class> 



     <!-- Entidades SIICO --> 
     <class>br.gov.cef.siico.domain.entidade.EntidadeSiico</class> 
     <class>br.gov.cef.siico.domain.publico.PublicoAlvo</class> 
     <class>br.gov.cef.siico.domain.sistema.Sistema</class> 
     <class>br.gov.cef.siico.domain.produto.FonteProduto</class> 
     <class>br.gov.cef.siico.domain.produto.FonteRecurso</class> 
     <class>br.gov.cef.siico.domain.publico.TipoPublico</class> 
     <class>br.gov.cef.siico.domain.produto.TipoCanal</class> 
     <class>br.gov.cef.siico.domain.produto.SegmentoAtendimento</class> 
     <class>br.gov.cef.siico.domain.produto.AtendimentoProduto</class> 
     <class>br.gov.cef.siico.domain.produto.ComercializacaoProduto</class> 
     <class>br.gov.cef.siico.domain.empregado.EmpregadoCaixa</class> 
     <class>br.gov.cef.siico.domain.endereco.Endereco</class> 
     <class>br.gov.cef.siico.domain.empregado.Funcao</class> 
     <class>br.gov.cef.siico.domain.empregado.Cargo</class> 
     <class>br.gov.cef.siico.domain.endereco.Localidade</class> 
     <class>br.gov.cef.siico.domain.endereco.MunicipioIbge</class> 
     <class>br.gov.cef.siico.domain.endereco.MunicipioIbgePK</class> 
     <class>br.gov.cef.siico.domain.endereco.Regiao</class> 
     <class>br.gov.cef.siico.domain.endereco.Uf</class> 
     <class>br.gov.cef.siico.domain.unidade.TipoUnidade</class> 
     <class>br.gov.cef.siico.domain.unidade.Unidade</class> 
     <class>br.gov.cef.siico.domain.unidade.UnidadePK</class> 
     <class>br.gov.cef.siico.domain.unidade.VinculoUnidade</class> 
     <class>br.gov.cef.siico.domain.unidade.VinculoUnidadePK</class> 
     <class>br.gov.cef.siico.domain.unidade.LocalizacaoUnidade</class> 
     <class>br.gov.cef.siico.domain.unidade.LocalizacaoUnidadePK</class> 
     <class>br.gov.cef.siico.domain.produto.GestaoProduto</class> 
     <class>br.gov.cef.siico.domain.produto.ProdutoSiico</class> 
     <class>br.gov.cef.siico.domain.operacao.Operacao</class> 
     <class>br.gov.cef.siico.domain.operacao.LinhaOperacao</class> 
     <class>br.gov.cef.siico.domain.operacao.AreaAtuacao</class> 
     <class>br.gov.cef.siico.domain.unidade.ResponsavelUnidadeCaixa</class> 
     <class>br.gov.cef.siico.domain.unidade.ResponsavelUnidadeCaixaPK</class> 
     <class>br.gov.cef.siico.domain.comunicacao.MeioComunicacao</class> 
     <class>br.gov.cef.siico.domain.comunicacao.MeioComunicacaoUnidade</class> 
     <class>br.gov.cef.siico.domain.comunicacao.MeioComunicacaoUnidadePK</class> 


     <!-- Processamento --> 
     <class>br.gov.cef.sigro.domain.processamento.Processamento</class> 
     <class>br.gov.cef.sigro.domain.processamento.ExecucaoProcessamento</class> 
     <class>br.gov.cef.sigro.domain.processamento.ItemProcessamento</class> 


     <!-- Cenário --> 
     <class>br.gov.cef.sigro.domain.cenario.Cenario</class> 
     <class>br.gov.cef.sigro.domain.cenario.RegistroCenario</class> 


     <!-- Plano de Ação --> 
     <class>br.gov.cef.sigro.domain.matrizgut.MatrizGut</class> 
     <class>br.gov.cef.sigro.domain.matrizgut.DetalheMatrizGut</class> 
     <class>br.gov.cef.sigro.domain.planoacao.OrigemApontamento</class> 
     <class>br.gov.cef.sigro.domain.planoacao.Acao</class> 
     <class>br.gov.cef.sigro.domain.planoacao.PlanoAcaoAcaoMitigacao</class> 
     <class>br.gov.cef.sigro.domain.planoacao.ParametrosPlanoAcaoAcaoMitigacao</class> 
     <class>br.gov.cef.sigro.domain.planoacao.historico.HistoricoPlanoAcao</class> 

     <exclude-unlisted-classes>false</exclude-unlisted-classes> 

     <properties> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.format_sql" value="true" /> 
      <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> 
      <property name="hibernate.hbm2ddl.auto" value="validate" /> 
      <property name="hibernate.jdbc.batch_size" value="50" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /> 
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider" /> 
      <property name="hibernate.default_schema" value="grosm001" /> 
     </properties> 
    </persistence-unit> 



</persistence> 

答えて

0

はプロデューサーを作成しないでください。あなたのビジネスクラスでは、単純に使用します。

@PersistenceContext(unitName = "simje") 
private EntityManager entityManager; 

または

@PersistenceContext(unitName = "sigro") 
private EntityManager entityManagerSigro; 

またはその両方を。

CDIをプロデューサでインジェクトする場合は、これらのエンティティマネージャを区別するための修飾子を作成する必要があります。 Dependency injection

:それはここに...

@Qualifier 

詳細情報任意の理にかなっていないので、しかし、私はこのソリューションを見ることはありません