This is not possible. You need to define an notation for both entitymanagers.
Also have a look at onami-persist for enhanced multi pu support Am 13. Juni 2016 12:11:42 MESZ, schrieb Kohei Nozaki <[email protected]>: >Hello, > >I want to create two EntityManager binding with guice-persist as >follows: > >1. Without any annotation >2. With an annotation (say, @SlaveDatabase) > >So, I have created following module: > >public class MyModule extends AbstractModule { > > @Override > protected void configure() { > install(new MasterPrivateModule()); > install(new SlavePrivateModule()); > } > > private static class MasterPrivateModule extends PrivateModule { > @Override > protected void configure() { > install(new JpaPersistModule("masterPU")); > > expose(EntityManager.class); > } > } > > private static class SlavePrivateModule extends PrivateModule { > @Override > protected void configure() { > install(new JpaPersistModule("slavePU")); > > final Provider<EntityManager> entityManagerProvider = >binder().getProvider(EntityManager.class); > >bind(EntityManager.class).annotatedWith(SlaveDatabase.class).toProvider(entityManagerProvider); > expose(EntityManager.class).annotatedWith(SlaveDatabase.class); > } > } >} > >But it doesn't work. Guice produces following error: > >com.google.inject.CreationException: Unable to create injector, see the > >following errors: > >1) A binding to javax.persistence.EntityManager was already configured >at >mypkg.MyModule$MasterPrivateModule.configure(MyModule.java:25) (via >modules: mypkg.MyModule -> mypkg.MyModule$MasterPrivateModule). > at >com.google.inject.persist.jpa.JpaPersistModule.configurePersistence(JpaPersistModule.java:69) > >(via modules: mypkg.MyModule -> mypkg.MyModule$SlavePrivateModule -> >com.google.inject.persist.jpa.JpaPersistModule) >... > >How do I write a module to achieve this requirement? > >I have pushed a reproducer (testcase) and entire project to GitHub: > >* Entire project: >https://github.com/lbtc-xxx/guice-persist-multiple-pu/tree/simplified >* Reproducer (testcase): >https://github.com/lbtc-xxx/guice-persist-multiple-pu/blob/simplified/src/test/java/mypkg/MyModuleTest.java > >Thanks. > >-- >You received this message because you are subscribed to the Google >Groups "google-guice" group. >To unsubscribe from this group and stop receiving emails from it, send >an email to [email protected]. >To post to this group, send email to [email protected]. >Visit this group at https://groups.google.com/group/google-guice. >To view this discussion on the web visit >https://groups.google.com/d/msgid/google-guice/84ba2ff6-eb3e-42c0-96d1-b48e8075659e%40googlegroups.com. >For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-guice. To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/EE708736-9BF3-4A7C-AFDA-853FA30726A3%40gmx.ch. For more options, visit https://groups.google.com/d/optout.
