EMFBuilderServiceResolver.java 文件源码

java
阅读 32 收藏 0 点赞 0 评论 0

项目:aries-jpa 作者:
/**
 * This method looks for a matching EntityManagerFactoryBuilder service to create the
 * EMF with.
 */
@Override
public EntityManagerFactory createEntityManagerFactory(String emName, @SuppressWarnings("rawtypes") Map map) {
    for (Entry<ServiceReference<Object>, Object> e : tracker.getTracked().entrySet()) {
        String serviceUnitName = String.valueOf(e.getKey().getProperty("osgi.unit.name"));

        if(serviceUnitName.equals(emName)) {
            try {
                Object emfBuilder = e.getValue();
                Method m = emfBuilder.getClass().getMethod("createEntityManagerFactory", Map.class);
                return (EntityManagerFactory) m.invoke(emfBuilder, map);
            } catch (Exception ex) {
                throw new PersistenceException("Failed to create an EntityManagerFactory for unit " +
                        emName, ex);
            }
        }
    }
    return null;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号