GWT RPC 응용 프로그램을 Tomcat 8에 배포했으며 일부 구성 데이터 (호스트 이름과 포트를 다른 서비스에로드)로 서버 코드를로드하려고합니다. 그렇지 않으면 서비스가 정상적으로 작동합니다. 나는 여러 가지 제안을 읽었으나 작동하지 않습니다.GWT - context.xml에서 구성 항목로드
내 Tomcat 컨텍스트에서 발췌 한 내용 (context.xml은 변경시 바람둥이를 다시 시작해야한다는 것을 알고 있습니다. 괜찮습니다).
<Context reloadable="true">
<Parameter name="config_hostname" value="192.168.2.199" override="false"/>
<Parameter name="config_port" value="8888" override="false"/>
내 서비스 구현에는 setup() 메소드가 있습니다. 설정에서 액세스하려고 시도합니다 :
String hostname = getServletConfig().getInitParameter("config_hostname");
String port = getServletConfig().getInitParameter("config_port");
그러나 작동하지 않습니다. 누구든지 올바른 길에 나를 놓을 수 있습니까?
------------------- 업데이트 -------------------
나는이
<web-app>
<context-param>
<param-name>hostname</param-name>
<param-value>192.168.2.199</param-value>
</context-param>
</web-app>
처럼 web.xml의 정보를 넣고 이런 식으로 사용하여 시도했다 (두 작품!) :
String h1=getServletConfig().getServletContext().getInitParameter("hostname");
String h2=getServletContext().getInitParameter("hostname");
그러나 내가 웹에 넣어 싶지 않아요. xml 왜냐하면 각 배포마다 다른 설정을 원하기 때문입니다. Tomcat에는 conf/server.xml och conf/context.xml이 있습니다. 그런 시도를했지만 위의 호출에서 NULL을 얻습니다.
서버 쪽 구성을 저장하는 가장 좋은 방법은 무엇입니까? 당신의 대답에 자세히 설명해주십시오.
나는 http://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html에 doumentation을 읽었지만 분명히 이해하지 못합니다.
이 코드는'ServletContextListener' 또는'RemoteServiceServlet'에 있나요? ServletContextListener # contextInitialized 메소드는 서버가 시작될 때 한 번 호출됩니다.이 메소드는 일반적으로 그러한 코드를 추가하는 곳입니다. –
나는이 클래스의 메소드에서 "public class MyService extends RemoteServiceServlet"을 가지고있다. –
context.xml 대신 web.xml에 init 매개 변수를 넣으려고 했습니까? "web-app"요소의 하위 요소 인 web.xml 파일에 다음 요소가 있습니다. ConfigFilename cfg/FosterAPet.cfg param-value> context -param>' –