문제

웹 애플리케이션이 환경에 대해 배우기 위해 예외가 발생할 때 다양한 세부 사항을 설명 할 수 있도록하고 싶습니다.

웹 애플리케이션 내에서 Glassfish가 실행중인 IP 주소를 어떻게 얻을 수 있습니까?

구성, JDBC 연결, JMS, JNDI 등의 스냅 샷도 가져오고 싶습니다. 이것이 가능합니까?

나는 이것이 유리 피쉬의 API와 더 관련이 있고 콩이나 mbean을 주입하는 것 같아요.

월터

도움이 되었습니까?

해결책 3

다음을 수행합니다.

  1. 기계에서 모든 네트워크 인터페이스를 찾으십시오
  2. JVM 정보를 기록하십시오

이것은 문제가 어디에서 왔는지 결정하기에 충분한 정보를 제공합니다.

월터

다른 팁

웹 애플리케이션 내에서 Glassfish가 실행중인 IP 주소를 어떻게 얻을 수 있습니까?

그러한 정보를 얻을 수 있습니다 ServletRequest, 예를 들어 포트.

구성, JDBC 연결, JMS, JNDI 등의 스냅 샷도 가져오고 싶습니다. 이것이 가능합니까?

연결의 메타 데이터 또는 연결 공장에 의존해야합니다. 두려움이 완전히 휴대 가능하지는 않지만 정보를 얻을 수 있어야합니다. JDBC 메타 데이터.

유리 피쉬의 JMX 콩을 연결할 수도 있습니다. 시간이 지남에 따라 할당 된 연결을 모니터링하기 위해 웹 앱에서 한 번 그렇게했습니다. JMX Beans의 이름을 찾아 보면 (예 : 데이터 소스의 이름을 알고 있다면) 정보에 대해 마차를 얻을 수 있습니다. 기본적으로 Native Glassfish 콘솔 디스플레이가있는 모든 것이 있습니다.

시작시 모든 정보를 수집 할 수 있습니다. ServletContextListener 그런 다음 예외가 발생할 경우 뱉어 내기 위해 어딘가에 보관하십시오.

권장되는 관행이 아닌 최종 사용자에게 잠재적 인 민감한 정보를 공개 할 수 있습니다.

웹 애플리케이션 내에서 Glassfish가 실행중인 IP 주소를 어떻게 얻을 수 있습니까?

사용 ServletRequest#getLocalPort() 그것을 위해 (아닙니다 ServletRequest#getServerPort() 실제로 돌아옵니다 요청이 전송 된 포트 번호, 가장 자주 80, 라우팅/로드 밸런싱으로 인해 컨테이너가 듣고있는 포트와 다를 수 있습니다).

구성, JDBC 연결, JMS, JNDI 등의 스냅 샷도 가져오고 싶습니다. 이것이 가능합니까?

글쎄, 당신은 JNDI 트리를 탐색하여 거기에 무엇이 있는지 확인할 수 있지만 응용 프로그램은 모든 세부 사항을 알지 못해서는 안됩니다 (이해 : 최소한 모든 메타 데이터에 액세스 할 수 없다고 생각합니다. 방법).

또 다른 옵션은 연결하는 것입니다 JMX를 통해 Glassfish의 노출 된 행정 MBeans. 그러나 이것은 관리자 자격 증명이 필요합니다 (따라서 불가능할 수 있음).

더 정확한 답변을 얻으려면 필요와 제약을 명확히해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top