java命名空间javax.naming.spi接口statefactory的类成员方法:
getstatetobind定义及介绍
本文导语:
getstatetobind
object getstatetobind(object obj,
name name,
context namectx,
hashtable environment)
throws namingexception
检索用于绑定的对象状态。
namingmanager.getstatetobind() ...
getstatetobind
object getstatetobind(object obj,
name name,
context namectx,
hashtable,?> environment)
throws namingexception
- 检索用于绑定的对象状态。
namingmanager.getstatetobind() 接连在状态工厂中加载,并在这些工厂上调用此方法,直到某一工厂产生非 null 应答。directorymanager.getstatetobind() 接连在状态工厂中加载。如果某一工厂实现 dirstatefactory,则 directorymanager 调用 dirstatefactory.getstatetobind();否则它调用 statefactory.getstatetobind()。
当某一工厂抛出异常时,该异常被传递给 namingmanager.getstatetobind() 和 directorymanager.getstatetobind() 的调用者。停止搜索可能产生非 null 应答的其他工厂。工厂只有在可以确定它是唯一需要的工厂并且不应该再尝试其他工厂时才抛出异常。如果此对象工厂无法使用所提供的参数创建对象,则它应该返回 null。
可以有选择地使用 name
和 namectx
参数来指定要创建的对象的名称。有关详细信息,请参阅 objectfactory.getobjectinstance()
中“名称和上下文参数”的描述。如果某一工厂使用 namectx
,则它应该将其使用与并发访问同步,因为无法保证上下文实现是线程安全的。
name 和 environment 参数都归调用者所有。该实现不会修改这些对象或保存对它们的引用,尽管它可能保存对这些对象的副本的引用。
- 参数:
obj
- 将检索其状态的非 null 对象。name
- 此对象相对于 namectx
的名称,如果没有指定名称,则该参数为 null。namectx
- 一个上下文,name
参数是相对于该上下文指定的,如果 name
相对于默认初始上下文,则该参数为 null。environment
- 将在创建对象的状态时使用的环境(可能为 null)。
- 返回:
- 用于绑定的对象状态;如果该工厂没有返回任何更改,则返回 null。
- 抛出:
namingexception
- 如果此工厂在试图获得对象的状态时遇到异常,并且不再尝试其他工厂。- 另请参见:
namingmanager.getstatetobind(java.lang.object, javax.naming.name, javax.naming.context, java.util.hashtable, ?>)
,
directorymanager.getstatetobind(java.lang.object, javax.naming.name, javax.naming.context, java.util.hashtable, ?>, javax.naming.directory.attributes)