マルチスレッド アプリケーションで Hibernate を使用しようとするときに発生する可能性のあるすべての問題 ( 1 番目の手がかり、2 番目の手がかり、 3番目の手がかりなど) のため、別の解決策を考えていました。を使用して私のスレッドから。 Controller
URL.openConnection()
言い換えれば、次のようなことをする代わりに:
MyThread.java
public class MyThread implements Runnable {
@Override
public void run() {
// do some great stuff with Hibernate
}
}
Anywhere.java
new Thread(new MyThread()).start();
私はそのようなことを試してみたい:
MyController.java
@Controller
public class MyController {
@RequestMapping(value = "myUrl", method = RequestMethod.GET)
public void myMethod() {
// do some great stuff with Hibernate
}
}
MyThread.java
public class MyThread implements Runnable {
@Override
public void run() {
// simple call the above mapped url
}
}
Anywhere.java
new Thread(new MyThread()).start();
あなたはそれについてどう思いますか?良いまたは悪い?私はまだ試していませんが、そのような解決策は、マルチスレッドで Hibernate を使用して遭遇する可能性のある一般的なエラーを防ぐと思います。サーバーは、誰かが偽のページを要求しているかのように論理部分を実行するからです。
PS: マルチスレッド アプリケーションで Hibernate を使用するためのソリューションがいくつかあることは知っていますが、1 つ試すたびに別のソリューションが表示され、飽き飽きするまでは戻りません。
PS2: このようなソリューションを保護する必要があることは承知しています (たとえば、トークンとしての UID)。