【发布时间】:2016-11-23 06:47:49
【问题描述】:
public class EntityMetaData implements SessionFactoryBuilderFactory {
// private static final ThreadLocal<MetadataImplementor> meta = new ThreadLocal<>(); // previously used, but did not work, so used HashMap
private static final Map<String, MetadataImplementor> meta = new HashMap<>();
private static final String METADATAKEY = "M";
@Override
public SessionFactoryBuilder getSessionFactoryBuilder(MetadataImplementor metadata, SessionFactoryBuilderImplementor defaultBuilder) {
// meta.set(metadata);
meta.put(METADATAKEY, metadata);
return defaultBuilder;
}
public static MetadataImplementor getMeta() {
// return meta.get();
return meta.get(METADATAKEY);
}
}
上面的代码在本地环境的tomcat 8中可以工作,但是在生产环境的tomcat 8中不能正常工作,因为getMeta()方法返回null。
在本地环境中,在服务器启动时调用getSessionFactoryBuilder 方法,以便它在本地工作,但在生产环境中getSessionFactoryBuilder 方法未调用因此getMeta() 返回null。
任何帮助都将不胜感激。
请帮帮我。
【问题讨论】:
-
请任何人都可以帮助我解决这个问题。这是一个
production问题。
标签: metadata tomcat8 spring-4 sessionfactory hibernate-5.x