3
저지 REST POST 요청을 동기화하여 한 요청이 처리중인 경우 다른 요청을 할 수 없도록하려면 어떻게해야합니까?저지 레스트 POST 요청을 동기화하는 방법
나는 방법을 시도했다 synchronized
그러나 그것은 작동하지 않았다. 대신/정지 서비스 방법을 synchronize
하고 시작하려고의
저지 REST POST 요청을 동기화하여 한 요청이 처리중인 경우 다른 요청을 할 수 없도록하려면 어떻게해야합니까?저지 레스트 POST 요청을 동기화하는 방법
나는 방법을 시도했다 synchronized
그러나 그것은 작동하지 않았다. 대신/정지 서비스 방법을 synchronize
하고 시작하려고의
당신의 GraphDatabaseService
의 요청에 따라 당신의 GraphDatabaseService
ServletContextListener
A의를 시작하고 웹 응용 프로그램의 컨텍스트를 통해 액세스 할 흥미로운 일이 될 수 있습니다. 이는 GraphDatabaseService
이 스레드로부터 안전함을 이용합니다.
<listener>
<listener-class>org.example.ExampleListener</listener-class>
</listener>
을 다음과 같은 REST 방식에 활용 :
public class ExampleListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
sce.getServletContext().setAttribute("graphDb", new GraphDatabaseFactory().newEmbeddedDatabase("/tmp/GraphDB"));
}
public void contextDestroyed(ServletContextEvent sce) {
((GraphDatabaseService)sce.getServletContext().getAttribute("graphDb")).shutdown();
}
}
하는이처럼 web.xml 파일에서 초기화 할 수 있습니다
@POST
public void graphOperation(@Context ServletContext context) {
GraphDatabaseService graphDb = (GraphDatabaseService)context.getAttribute("graphDb");
// Graph operations here...
}
서비스 클래스 생성자에 ServletContext
을 추가하고 속성을 가져올 수도 있습니다 보다 편리한 서비스 클래스의 멤버 필드가 필요합니다.
왜이 작업을 수행 하시겠습니까? 어떤 유스 케이스가 있습니까? –
@Tichodroma 어떻게 중요합니까 ?? – Shiv
질문에 대한 답변을 얻으려면 문맥을 제공하십시오. 나는 당신이 당신의 코드 스택의 정확한 위치에서 당신의 진짜 문제를 해결하려고 노력하고 있는지 의심 스럽다. 그게. –