1

マルチスレッド アプリケーションで Hibernate を使用しようとするときに発生する可能性のあるすべての問題 ( 1 番目の手がかり2 番目の手がかり 3番目の手がかりなど) のため、別の解決策を考えていました。を使用して私のスレッドから。 ControllerURL.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)。

4

1 に答える 1