是否可以在hibernate-core-4.x
上使用Wildfly 13
运行应用程序?
我敢肯定,WildFly13不会不支持休眠4,但是无论如何我还是有要求。造成这种情况的部分原因是,应用程序使用的某些类在休眠5中不再存在(例如,Mappings
),而要更改它们将花费巨大的精力。
我的偏好是仅更新应用程序,但是我需要显示“尽职调查”(或其他内容)以证明所做的努力是正确的。
我们看到的异常与使休眠4与infinispan 9完美配合有关,或者也可能将infinispan降级为版本“ 6.x”。
我所知道的所有相关经验都是关于Tomcat的,因此我需要一些帮助,要么使其开始工作,要么能够显示官方文档或声明不支持休眠4的声明。
Stacktrace
2018-07-11 17:30:17,034错误(Thread-1(ActiveMQ-client-global-threads))[stderr] at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:174)
2018-07-11 17:30:17,050错误(Thread-1(ActiveMQ-client-global-threads))[stderr] at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:150)
2018-07-11 17:30:17,050错误(Thread-1(ActiveMQ-client-global-threads))[stderr] at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:137)
2018-07-11 17:30:17,050错误(Thread-1(ActiveMQ-client-global-threads))[stderr] at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:123)
2018-07-11 17:30:17,050错误(Thread-1(ActiveMQ-client-global-threads))[stderr] at org.hibernate.cache.infinispan.InfinispanRegionFactory.createCacheManager(InfinispanRegionFactory.java:415)
2018-07-11 17:30:17,050错误(Thread-1(ActiveMQ-client-global-threads))[stderr] at org.hibernate.cache.infinispan.InfinispanRegionFactory.start(InfinispanRegionFactory.java:323)
解析器注册表中的代码引发异常:
public void parseElement(XMLExtendedStreamReader reader, ConfigurationBuilderHolder holder) throws XMLStreamException {
QName name = reader.getName();
ParserRegistry.NamespaceParserPair parser = (ParserRegistry.NamespaceParserPair)this.parserMappings.get(name);
if (parser == null)
{
String uri = name.getNamespaceURI();
int lastColon = uri.lastIndexOf(':');
String baseUri = uri.substring(0, lastColon + 1) + "*";
parser = (ParserRegistry.NamespaceParserPair)this.parserMappings.get(new QName(baseUri, name.getLocalPart()));
if ((parser == null) || (!isSupportedNamespaceVersion(parser.namespace, uri.substring(lastColon + 1)))) throw log.unsupportedConfiguration(name.getLocalPart(), name.getNamespaceURI());
}
Schema oldSchema = reader.getSchema();
reader.setSchema(Schema.fromNamespaceURI(name.getNamespaceURI()));
parser.parser.readElement(reader, holder);
reader.setSchema(oldSchema);
}
答案 0 :(得分:0)
我在项目中使用jboss-deployment-structure.xml在项目中解决了以下问题:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.hibernate" slot="4.3"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
还有插槽4.1
希望对您有帮助。