Как настроить Play, чтобы не слушать порт jpda при использовании Heroku? - PullRequest
1 голос
/ 29 ноября 2011

Я получаю эту ошибку при попытке запустить мое игровое приложение на Heroku:

heroku[web.1]: Error R11 (Bad bind) -> Process bound to port 8000, should be 46275 (see environment variable PORT)

Я думаю, что эта игра пытается прослушивать порт jpda, который Heroku запрещает.Мой Procfile выглядит так:

web:    play run --http.port=$PORT $PLAY_OPTS

Мой PLAY_OPTS в конфигурации heroku выглядит следующим образом:

PLAY_OPTS           => --%prod -Dprecompiled=true

В моем файле application.conf режим установлен так:

application.mode=dev

Что мне нужно сделать, чтобы это развернуло?Нужно ли как-то отключить порт jpda или установить режим на что-то другое?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

В вашем файле application.conf вам нужна строка для определения режима prod

%prod.application.mode=prod

Попробуйте локально запустить play run -% prod, чтобы убедиться, что в этом режиме вы не открываете порт jpda.

0 голосов
/ 29 ноября 2011

Не похоже, что есть хороший способ сделать это в режиме dev. В play-1.2.3/framework/pym/play/application.py вы можете видеть, что он всегда запускает отладочную информацию в режиме dev:

    if self.readConf('application.mode') == 'dev':
        if not self.play_env["disable_check_jpda"]: self.check_jpda()
        java_args.append('-Xdebug')
        java_args.append('-Xrunjdwp:transport=dt_socket,address=%s,server=y,suspend=n' % self.jpda_port)
        java_args.append('-Dplay.debug=yes')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...