Бих искал да разбера разликите между run play start и play run в контекста на проблема по-долу.
Моят конкретен случай на употреба е доста сложен, но ще го опростя така:
- При стартиране (като част от Global.scala), моето приложение Play прави директно извикване на метод към входната точка на Java приложение X.
- Като част от своята инициализация, X стартира вградено копие на Tomcat.
- В края на инициализацията на X, той проверява дали Tomcat работи и отговаря на заявки.
Сега, когато направя play start
на това приложение, Tomcat е готов и работи, X е щастлив и животът продължава.
Въпреки това, когато правя play run
, Tomcat не успява да се инициализира и X седи там и чака отговор, като в крайна сметка изтича времето за изчакване.
Основната причина, поради която трябва да използвам play run
, е за разработка, тъй като бих искал да прикача дебъгера на Eclipse, за да играя, като стартирам play debug run
.
Разбирам, че това е прекалено опростяване, но това, което се надявам да получа от вас, е, че води до разлики между Play run и Play start, които биха могли да променят поведението на моето приложение, което води до този отказ.
Сега се опитах да увелича броя на нишките в набора от нишки по подразбиране на Play след http://www.playframework.com/documentation/2.1.x/ThreadPools, но без успех.
Изходът за възпроизвеждане и регистрационните файлове не ми дават полезна информация по този въпрос.
Използвам Play 2.1.1