어떻게 추가 프레임 워크없이에게 Heroku에 액세스 자바 웹 소켓 엔드 포인트를 배포하는 방법

coderodde :

나는 자바에서 웹 소켓 엔드 포인트를 설정이 매우 기본적인 튜토리얼을 따랐다 : http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/HomeWebsocket/WebsocketHome.html

Heroku가, 그러나, 플레이 프레임 워크에 의존하는 날을 기대 : https://devcenter.heroku.com/articles/play-java-websockets

내 질문은 : 어떻게 추가 프레임 워크없이 동일한 배포 수 있고 어떤 절차 것은 내가 가지 일을하기 위해 통과해야합니까?

레이 석탄 :

당신이 한 문제는이 있었다 :

당신이 다음 튜토리얼은 글래스 피시 응용 프로그램 서버에 대해되었다하지만 Heroku가 단지 톰캣 8 부두 지원합니다. 여기를 참조하십시오 : https://devcenter.heroku.com/articles/war-deployment

하지만 걱정하지 마세요, 나는 이식과 톰캣 8 실행할 수있는 튜토리얼을 테스트했다.

나는 또한 javax.json 사양의 글래스 피쉬 구현을 추가했다. (단 사양 인터페이스를 구현을 다운로드하지 않도록해야합니다) 당신은 그것을 여기에서 찾을 수 있습니다 http://central.maven.org/maven2/org/glassfish/javax.json/1.0.4/

또한, 어쩌면 당신의 index.html을 로컬에서 작동하지 않는 이유를 발견 : 나는 웹 소켓 URL이 websocket.js 파일에 하드 코딩했기 때문에 그것이 생각합니다. 나는 그것이 동적함으로써이 문제를 해결 할 수있는 자유를 가지고있다.

여기에 전체 넷빈즈에게 있습니다 8.0.2 프로젝트 :
http://ray.hulha.net/WebsocketHome.zip

여기 넷빈즈 7 또는 8 내부에서 전쟁 파일을 생성하는 가장 좋은 방법은 다음과 같습니다
여기에 이미지 설명을 입력

하나의 캐치에게 Heroku에 톰캣 8은 웹 소켓의 부가 기능이 없습니다, 그러나이있다.

그러나 걱정, 당신은 전쟁 파일에 수동으로 추가 할 수 없습니다. 다음 단계는 다음과 같습니다

  1. 여기에 톰캣 웹 소켓 애드온을 다운로드 :
    http://central.maven.org/maven2/org/apache/tomcat/embed/tomcat-embed-websocket/8.0.29/tomcat-embed-websocket-8.0.29.jar

  2. 전쟁 파일은 정말 그냥 zip 파일입니다. 내가 사용하는 그래서 7 우편을 전쟁 파일을 엽니 다. war 파일 내부의 WEB-INF / lib 디렉토리의 폴더로 이동.

  3. 전쟁에 항아리를 복사합니다. 드래그 앤 드롭 (7) - 내부 지퍼 전쟁 파일의 lib 폴더에 바람둥이 - 포함 - 웹 소켓-8.0.29.jar.

  4. 당신이 정말로 전쟁 파일에 항아리를 복사 할 경우, Z-우편 묻습니다. 네 라고 말하다.

다음은 바람둥이 - 포함 - 웹 소켓-8.0.29.jar에게 Heroku에 배포 할 준비가 완료 컴파일 된 전쟁 파일입니다 http://ray.hulha.net/WebsocketHome.war은

나는 그것을 배포하려면이 명령을 사용 :

heroku war:deploy WebsocketHome.war --app websockethome

앱 이름이 결국 응용 프로그램 이름을 교체해야합니다.

그리고 여기에 작업 결과는 다음과 같습니다 http://websockethome.herokuapp.com/

여기에 이미지 설명을 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관