JPA - 使用多个实体管理器的性能

时间:2012-09-21 09:28:52

标签: java jpa persistence seam openjpa

我的情况是:

  • 代码不是我的
  • 我有两种数据库:一种是爸爸,一种是儿子。
  • 在爸爸,我有一个表来存储JNDI名称。我将使用JNDI查找Dad,创建实体管理器,并检索此表。
  • 从这些检索到的JNDI名称中,我将使用多个Son数据库创建多个实体管理器。

问题是:

  • 儿子有数千个实体。每个Son数据库需要大约10分钟才能加载所有实体。如果有4个Son数据库,则为40分钟。

我的问题:

  • 假设我们已经创建了一个实体管理器(可以使用),有没有办法加速那些实体管理器的创建(只是连接不同)

请查看下面的代码
对于每个Son JNDI:

Map<String, String> puSonProperties = new HashMap<String, String>();
puSonProperties.put("javax.persistence.jtaDataSource", sonJndi);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PUSon", puSonProperties);

PUSon - 所有这些都使用相同的持久性单元

log.info("Verify entity manager for son: {0} - {1}", sonCode, 
         emSon.find(Son_configuration.class, 0) != null ? "ok" : "failed!");

这是实际代码,我猜所有实体的加载开始。 10分钟。

0 个答案:

没有答案