0
これはan answer hereへのフォローアップの質問です。ObjectifyがcreateThreadForCurrentRequest()内で動作しない
私は、サーブレットで次のコードがあります。
createThreadForCurrentRequest(() => {
// do stuff
}).start();
をしかし、私はそれをローカルに実行したとき、私はこの例外を受け取った:私は間違っているんです
Exception in thread "Thread-17" java.lang.IllegalStateException: You have not started an Objectify context. You are probably missing the ObjectifyFilter. If you are not running in the context of an http request, see the ObjectifyService.run() method.
?
言い換えに:createThreadForCurrentRequest()
によって生成されたスレッド内でObjectifyを実行するにはどうすればよいですか?
EDIT 1:要求することで、ここweb.xml
です:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
metadata-complete="true">
<absolute-ordering/>
<!-- Register Objectify model -->
<listener>
<listener-class>foo.ObjectifyListener</listener-class>
</listener>
<filter>
<filter-name>objectify</filter-name>
<filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>objectify</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>bar</servlet-name>
<servlet-class>foo.BarServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bar</servlet-name>
<url-pattern>/foo/bar/</url-pattern>
</servlet-mapping>
</web-app>
EDIT 2:
私は新しい(現在はベータ版)のJava 8ランタイムを使用しています。
あなたのweb.xmlを投稿してください –