2015-10-23 17 views
5

大規模なアプリケーションの一部としてPlay Framework Webサーバーを追加しようとしていますが、アプリケーションの主な目的はWebサーバーではありません。それはすでにシリアルとTCPを含むさまざまな接続を受け付けていますが、WebSocketを追加する必要があり、Play FrameworkのWebSocketインターフェイスが望ましいです。 (私たちはUndertowを試してきて、厄介なインターフェースで問題が多すぎます)Play Frameworkをコンポーネントとして使用する

私はアプリケーションを作成して起動していますが、接続できません。次のコードを実行すると、何もポート8000​​でリッスンしません。何をする必要がありますか?

application.conf:

play.server.http.port=8000 
http.port=8000 

webserver.scala:

def startWebServer = { 
    val environment = new Environment(
    new File("/path/to/app"), 
    classOf[Dummy].getClassLoader, 
    play.api.Mode.Dev 
) 
    val context = play.api.ApplicationLoader.createContext(environment) 
    val application = ApplicationLoader(context).load(context) 

    play.api.Play.start(application) 
} 

build.sbt:

libraryDependencies += "com.typesafe.play" %% "play" % "2.5.0-M1" 

出力:

[info] play.api.Play - Application started (Dev) 

コードはこちらからダウンロードできます。github.com/alancnet/playtest

+0

I 'webserver.scala'を実行するとコンソールに出力がありますか? –

+0

これは既に解決策です:http://stackoverflow.com/questions/8205067/how-do-i-change-the-default-port-9000-that-play-uses-when-i-execute-the- run?answertab = votes#tab-top – Kris

+0

@GavinSchulz上記の出力を追加しました。 – wizulus

答えて

3

これは単なるアプリケーションです。それにはまだホストが必要です。次のコードを追加します。

webserver.scala:

play.core.server.NettyServer.fromApplication(
    application 
) 

build.sbt:

libraryDependencies += "com.typesafe.play" %% "play-netty-server" % "2.5.0-M1" 

出力:

[info] play.api.Play - Application started (Dev) 
[info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 

編集:ここでは生産に入ったコードがあります: https://gist.github.com/alancnet/68f6e787e1ab96bd1c4a

関連する問題