|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PortletServiceHome
Interface for retrieving portlet services. Portlet services are accessed by a JNDI lookup; the lookup returns an implementation of this interface, which allows to get the actual portlet service.
The default JNDI name for looking up a portletservice is
portletservice/
followed by the name of the service interface.
If a portal provides any
implementation for a portlet service interface, it will always register the service
under that name.
If an application requires more flexibility in the selection of a portlet service implementation, it may instead look up the portlet service under a portlet specific JNDI alias; the administrator is then responsible for mapping that alias to an actual service implementation using the application server administration facilities.
Coding example for looking up a service:
PortletServiceHome psh; javax.naming.Context ctx = new javax.naming.InitialContext(); try { psh = (PortletServiceHome) ctx.lookup("portletservice/com.mycomp.WombatService"); } catch(javax.naming.NameNotFoundException ex) { ... error handling ... } ... // use the service WombatService service = (WombatService) psh.getService(WombatService.class); service.feedWombat();The returned
PortletServiceHome
object is valid for the lifetime of the portal.
It is recommended
to perform the JNDI lookup in the init
method of the portlet and store
the PortletServiceHome
object home in an instance variable. Note that it
is not permitted to
access references to the actual service for longer than one request. The service must
be retrieved again from the PortletServiceHome
object whenever it is used
in another request.
Method Summary | ||
---|---|---|
|
getPortletService(java.lang.Class<T> service)
Return a service for the given service interface. |
Method Detail |
---|
<T extends PortletService> T getPortletService(java.lang.Class<T> service) throws PortletServiceUnavailableException
Service references obtained by calling this method may only be accessed within the request in which they were retrieved.
Note that you may cast the returned service only to the interface that has been requested. Programmers must not assume that the returned object will be the actual implementation of the service, it may also be a proxy object that passes calls to the service implementation. Therefore it is illegal to cast the returned service to any extended or alternative interface.
service
- the service interface
PortletServiceIllegalInterfaceException
- if the service home cannot provide an
an implementation for the requested interface.
PortletServiceInstatiationException
- if the creation of a service implementation
failed.
PortletServiceUnvailableException
- if a service implementation could be created
but an exception occured during the service-specific intialization.
PortletServiceUnavailableException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |