gpt4 book ai didi

java - 运行我的第一个 PlayORM 测试时出现异常

转载 作者:行者123 更新时间:2023-12-01 23:42:24 26 4
gpt4 key购买 nike

我正在尝试设置我的第一个 PlayORM 项目。我有一个 EAR 文件,它是 playorm 库和所有依赖项所在的位置。我有一个 WAR 项目包含在 EAR 中。我在 WAR 中创建了一个 nosql.Persistence 类,并定义了我的实体类。我正在使用内存数据存储支持,因为这只是我的第一次测试。但是,当我尝试保留一个简单的测试实体值时,我看到一个异常。持久化的代码如下所示:

Map<String, Object> properties = new HashMap<String, Object>();
properties.put(Bootstrap.AUTO_CREATE_KEY, "create");
NoSqlEntityManagerFactory factory = Bootstrap.create(
DbTypeEnum.IN_MEMORY, properties, null, null);
NoSqlEntityManager mgr = factory.createEntityManager();

EntityA entA = new EntityA();
entA.setFieldA("FieldAVal1");
entA.setFieldB("FeildBVal1");
entA.setFieldC(300);
entA.setId(UUID.randomUUID().toString());

mgr.put(entA);
mgr.flush();

调用 Bootstrap.create() 时遇到的异常如下所示:

[0m21:47:22,922 INFO  [com.alvazan.orm.logging.NoSqlRawLogger] (http-/0.0.0.0:8080-1) [rawlogger] starting NoSQL Service Provider and connecting
[0m[0m21:47:22,937 INFO [com.alvazan.orm.layer0.base.BaseEntityManagerFactoryImpl] (http-/0.0.0.0:8080-1) Begin scanning for jars with nosql.Persistence.class
[0m[31m21:47:22,938 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/playpoc].[com.test.web.TestServlet]] (http-/0.0.0.0:8080-1) JBWEB000236: Servlet.service() for servlet com.test.web.TestServlet threw exception: java.lang.RuntimeException: protocol of=vfs is not supported for loading classfiles, let me know and I can fix that
at com.impetus.annovention.ClasspathDiscoverer.findResources(ClasspathDiscoverer.java:86) [playorm-1.6.jar:]
at com.impetus.annovention.Discoverer.discover(Discoverer.java:143) [playorm-1.6.jar:]
at com.alvazan.orm.layer0.base.BaseEntityManagerFactoryImpl.rescan(BaseEntityManagerFactoryImpl.java:82) [playorm-1.6.jar:]
at com.alvazan.orm.layer0.base.BaseEntityManagerFactoryImpl.setup(BaseEntityManagerFactoryImpl.java:140) [playorm-1.6.jar:]
at com.alvazan.orm.impl.bindings.BootstrapImpl.createInstanceImpl(BootstrapImpl.java:67) [playorm-1.6.jar:]
at com.alvazan.orm.impl.bindings.BootstrapImpl.createInstance(BootstrapImpl.java:38) [playorm-1.6.jar:]
at com.alvazan.orm.api.base.Bootstrap.create(Bootstrap.java:66) [playorm-1.6.jar:]
at com.alvazan.orm.api.base.Bootstrap.create(Bootstrap.java:61) [playorm-1.6.jar:]
at com.test.web.TestServlet.processRequest(TestServlet.java:56) [classes:]
at com.test.web.TestServlet.doGet(TestServlet.java:40) [classes:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]

我正在 JBoss EAP 6.1 上运行它,使用 PlayORM 1.6。谁能解释一下这里发生了什么以及为什么这个简单的测试不起作用?

最佳答案

PlayOrm 使用名为 annovention 的第 3 方库,其中进行了一些细微的修改。该库支持 file://和 jar://,因为大多数类文件都在 jar 和文件中,因此我们需要弄清楚如何使其适用于 vfs。修复它应该不难,但我们需要解决它。我很抱歉给您带来不便。我们将尝试在下周初之前修复此问题,因为 Jboss 是一个相当大的应用服务器。

谢谢,院长

关于java - 运行我的第一个 PlayORM 测试时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com