|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
public interface EventContext
문맥으로 지정된 객체가 변경되었을 때에 트리거되는 이벤트의 통지를 받는, 청취자의 등록/등록 해제에 관한 메소드를 포함합니다.
어느 서비스가 기존의 타겟으로 대하는 전달 등록만을 지원하는 경우, 존재하지 않는 타겟을 등록하려고 하면(자), 가능한 한 빠른 시점에서 NameNotFoundException 가 throw 됩니다. throw 되는 타이밍은 addNamingListener() 를 호출하는 시점이 이상적입니다만, 그것이 가능하지 않는 경우는, 청취자는 NamingExceptionEvent 경유로 예외를 받습니다.
또, 기존의 타겟 밖에 등록하지 않는 서비스 프로바이더에서는, 청취자가 등록한 타겟이 이름 공간으로부터 삭제되면(자),NamingExceptionEvent (NameNotFoundException 를 포함한다)로부터 청취자에게 통지됩니다.
어플리케이션에서는 메소드 targetMustExist() 를 사용해, 존재하지 않는 타겟의 등록을 EventContext 가 지원하고 있는지를 확인할 수가 있습니다.
예를 들어, 청취자가 다음의 등록을 행했다고 합니다.
그 후에 객체명 "x/y" 가 삭제되면(자), 대응하는 NamingEvent (evt)에는 다음을 포함할 필요가 있습니다.NamespaceChangeListener listener = ...; src.addNamingListener("x", SUBTREE_SCOPE, listener);
evt.getEventContext() == src evt.getOldBinding(). getName(). equals("x/y")
게다가 청취자의 등록/등록 해제는 EventContext 인스턴스를 사용해 행해져 이름 공간의 대응 객체를 이용하지 않습니다. 프로그램의 일부에서 청취자를 삭제하는 경우,addNamingListener() 를 기동한 EventContext 인스턴스의 참조를 보존합니다 (청취자에 대해서 참조를 보존해, 나중에 삭제하기 위해서 필요하게 됩니다). 등록 해제를 실시하기 위해서(때문에),lookup() 를 실행해,EventContext 의 다른 인스턴스를 취득할 수 없습니다.
필드의 개요 | |
---|---|
static int |
OBJECT_SCOPE
타겟으로 지정된 객체에 관한 이벤트를 통지할지 어떨지를 지정하는 정수입니다. |
static int |
ONELEVEL_SCOPE
타겟으로 지정된 문맥의 객체에 관한 이벤트를 통지할지 어떨지를 지정하는 정수입니다. |
static int |
SUBTREE_SCOPE
타겟으로 지정된 문맥의 서브 트리에 있는 객체에 관한 이벤트를, 통지할지 어떨지를 지정하는 정수입니다. |
인터페이스 javax.naming. Context 로부터 상속된 필드 |
---|
APPLET , AUTHORITATIVE , BATCHSIZE , DNS_URL , INITIAL_CONTEXT_FACTORY , LANGUAGE , OBJECT_FACTORIES , PROVIDER_URL , REFERRAL , SECURITY_AUTHENTICATION , SECURITY_CREDENTIALS , SECURITY_PRINCIPAL , SECURITY_PROTOCOL , STATE_FACTORIES , URL_PKG_PREFIXES |
메소드의 개요 | |
---|---|
void |
addNamingListener (Name target,
int scope,
NamingListener l)
청취자를 추가해, 타겟 및 스코프로 특정 객체의 변경시에 트리거된, 이름 첨부 이벤트를 받아들이도록(듯이) 합니다. |
void |
addNamingListener (String target,
int scope,
NamingListener l)
청취자를 추가해, 캐릭터 라인의 타겟명 및 스코프로 특정한 객체의 변경시에, 트리거된 이름 첨부 이벤트를 받아들이도록(듯이) 합니다. |
void |
removeNamingListener (NamingListener l)
청취자를 삭제해, 이 EventContext 로 트리거된 네이밍 이벤트를 납득할 수 없게 합니다. |
boolean |
targetMustExist ()
존재하지 않는 타겟으로, 청취자가 전달 처리를 등록할 수 있을지 어떨지 판정합니다. |
인터페이스 javax.naming. Context 로부터 상속된 메소드 |
---|
addToEnvironment , bind , bind , close , composeName , composeName , createSubcontext , createSubcontext , destroySubcontext , destroySubcontext , getEnvironment , getNameInNamespace , getNameParser , getNameParser , list , list , listBindings , listBindings , lookup , lookup , lookupLink , lookupLink , rebind , rebind , removeFromEnvironment , rename , rename , unbind , unbind |
필드의 상세 |
---|
static final int OBJECT_SCOPE
이 정수의 값은 0 입니다.
static final int ONELEVEL_SCOPE
이 정수의 값은 1 입니다.
static final int SUBTREE_SCOPE
이 정수의 값은 2 입니다.
메소드의 상세 |
---|
void addNamingListener(Name target, int scope, NamingListener l) throws NamingException
target 가 문맥을 지정할 필요가 있는 것은,scope 가 ONELEVEL_SCOPE 인 경우만입니다. scope 가 OBJECT_SCOPE 또는 SUBTREE_SCOPE 의 몇개의 경우,target 는 비문맥을 지정할 수가 있습니다. 예를 들어,target 가 문맥인가 어떤가가 사전이 모르는 경우에, 호출측이 target 를 루트로 하는 서브 트리 (존재하지 않는 경우도 있다)를 등록할 때는,SUBTREE_SCOPE 를 사용해 비문맥을 지정합니다.
청취자가 이벤트의 통지를 받으면(자),addNamingListener() 가 실행되어 있지 않은 thread로 청취자가 기동됩니다. 복수의 thread가 같은 EventContext 에 동시에 액세스 하고 있는 경우는 주의가 필요합니다. thread 문제의 자세한 것은,「패키지의 설명」을 참조해 주세요.
target
- 이 문맥에 관련해 해석되는 null 이외의 이름scope
- OBJECT_SCOPE,ONELEVEL_SCOPE, 또는
SUBTREE_SCOPE 의 어느쪽이든 1 개(살)l
- null 이외의 청취자
NamingException
- 청취자의 추가중에 문제가
발견되었을 경우removeNamingListener(javax.naming.event.NamingListener)
void addNamingListener(String target, int scope, NamingListener l) throws NamingException
target
- 이 문맥에 관련해 해결되는, 객체의 null 이외의 캐릭터 라인명scope
- OBJECT_SCOPE,ONELEVEL_SCOPE, 또는
SUBTREE_SCOPE 의 어느쪽이든 1 개(살)l
- null 이외의 청취자
NamingException
- 청취자의 추가중에 문제가
발견되었을 경우removeNamingListener(javax.naming.event.NamingListener)
void removeNamingListener(NamingListener l) throws NamingException
l
- null 이외의 청취자
NamingException
- 청취자의 삭제중에 문제가
발견되었을 경우addNamingListener(javax.naming.Name, int, javax.naming.event.NamingListener)
boolean targetMustExist() throws NamingException
NamingException
- 이 문맥 동작을 판정할 수 없는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.