我不确定自己是否走在正确的轨道上。在我的应用程序中,创建了jdbc连接,并且某些进程调用了该事务。在同一个流程中,创建一个线程并再次调用相同的进程来执行提交。但后来的提交并未在WHO专栏中提交正确的用户数据。 WHO专栏需要从用户会话中获取其值。我已经检查过,如果我不创建线程并直接调用该过程,那么WHO列正在正确更新。在线程创建,问题出现。应用程序是使用adf模型创建的。 plz建议如何将用户上下文传递给线程。
答案 0 :(得分:2)
除非您发布代码,否则很难回答您的问题。但根据你的措辞,我认为你很难将一些变量/数据传递给线程。最简单和最简单的方法是使用构造函数。在创建对象以调用实现/扩展线程类的类时,将数据作为参数传递。然后在被调用的类中使用构造函数来获取值并根据需要使用它们。我希望这有助于并且符合您提出的问题。
答案 1 :(得分:0)
你可以使用带有getter和setter方法的类将数据传递给线程,通过在启动线程之前创建对象来设置所有数据,并使用getter方法,你可以在线程中获取它。!
public Class NormalClass
{
int data = 0;
public void setData(int a)
{
this.a = a;
}
public int getData(int a)
{
return this.a;
}
}
在类中启动线程集数据之前,然后在run方法中可以访问它
答案 2 :(得分:0)
您可以使用ThreadLocal维护与当前线程相关的一些上下文,您可以获得有关Usage of ThreadLoacal
的更多信息