public class HttpPartitionBean implements javax.ejb.SessionBean { private javax.ejb.SessionContext mySessionCtx; private PartitionManager partitionManager; private HttpPartitionManager httpPartitionManager; /** * getSessionContext */ public javax.ejb.SessionContext getSessionContext() { return mySessionCtx; } /** * setSessionContext */ public void setSessionContext(javax.ejb.SessionContext ctx) { mySessionCtx = ctx; try { InitialContext ic = new InitialContext(); partitionManager = (PartitionManager)ic.lookup(PartitionManager. JNDI_NAME); httpPartitionManager = HttpPartitionManager.instance; partitionManager.setHttpPartitionManager(httpPartitionManager); String appName = partitionManager.getApplicationName(); httpPartitionManager.setPartitionManager(appName, partitionManager); } catch (Exception e) { throw new EJBException(e); } } /** * ejbCreate */ public void ejbCreate() throws javax.ejb.CreateException { } /** * ejbActivate */ public void ejbActivate() { } /** * ejbPassivate */ public void ejbPassivate() { } /** * ejbRemove */ public void ejbRemove() { } /** * @return */ public PartitionDefinition[] getPartitions() { return new PartitionDefinition[0]; } /** * This is called when a specific partition is assigned to this server process. * @param partitionName * @return */ public boolean partitionLoadEvent(String partitionName) { return false; } /** * This is called when previously assigned partition is withdrawn from this server. * @param partitionName */ public void partitionUnloadEvent(String partitionName) { } /** * This may be called periodically to verify that this server is functioning correctly if * it was assigned a partition. * @param partitionName * @return */ public boolean isPartitionAlive(String partitionName) { return false; } }이 EJB는 파티션을 지정하지 않으므로 254행에 표시된 getPartitions() 메소드는 간단하게 비어 있는 파티션 정의 배열을 리턴합니다. 이 EJB가 파티션을 리턴한 경우 setPartitions() 메소드는 HttpPartitionManager에서 호출해야 합니다. 또한 EJB는 setExpressions() 메소드를 호출하여 HTTP 요청 표현식을 지정할 수 있습니다.
Related concepts
EJB API: HttpPartitionBean 확장