Java 错误:操作总是访问存储库。不建议在没有事务的情况下这样做
我试图在java类中调用操作: public void execute(){ 你知道如何解决这个问题吗Java 错误:操作总是访问存储库。不建议在没有事务的情况下这样做,java,alfresco,Java,Alfresco,我试图在java类中调用操作: public void execute(){ 你知道如何解决这个问题吗 谢谢希望您的webscript事务值为读写 <webscript> <shortname>{}</shortname> <description>{}</description> <url>/{name}</url> <format default="json">
谢谢希望您的webscript事务值为读写
<webscript>
<shortname>{}</shortname>
<description>{}</description>
<url>/{name}</url>
<format default="json">argument</format>
<authentication>user</authentication>
<transaction allow="readwrite" buffersize="0">required</transaction>
</webscript>
{}
{}
/{name}
论点
用户
必修的
以给定用户的身份执行工作单元。调用后,线程的已验证用户将返回到其正常状态
final Context cx = Context.getCurrentContext();
final Scriptable scope = getScope();
RunAsWork<Object> raw = new RunAsWork<Object>() {
public Object doWork() throws Exception {
func.call(cx, scope, scope, new Object[] {});
return null;
}
};
AuthenticationUtil.runAs(raw, AuthenticationUtil.getAdminUserName());
}
final Context cx=Context.getCurrentContext();
最终可编写脚本的范围=getScope();
RunAsWork raw=新RunAsWork(){
公共对象doWork()引发异常{
函数调用(cx,作用域,作用域,新对象[]{});
返回null;
}
};
AuthenticationUtil.runAs(原始,AuthenticationUtil.getAdminUserName());
}
此外,如果您试图在客户端运行,它将无法工作,它将只在服务器端工作。2我不使用webscript。Java代码是一个定期调用的执行器。当我从不同的java调用我的操作时,一切都正常。我认为问题在于定期调用操作,但我不知道如何解决它。您是从调度程序还是webscript调用操作?
<webscript>
<shortname>{}</shortname>
<description>{}</description>
<url>/{name}</url>
<format default="json">argument</format>
<authentication>user</authentication>
<transaction allow="readwrite" buffersize="0">required</transaction>
</webscript>
final Context cx = Context.getCurrentContext();
final Scriptable scope = getScope();
RunAsWork<Object> raw = new RunAsWork<Object>() {
public Object doWork() throws Exception {
func.call(cx, scope, scope, new Object[] {});
return null;
}
};
AuthenticationUtil.runAs(raw, AuthenticationUtil.getAdminUserName());
}