You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.9 KiB
Java

Informer bean
package com.ack.j2ee.ejb.session;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* Define environment variables within the a components
* deployment descriptor (e.g. ejb-jar.xml )
*
<session>
...
<env-entry>
<description>
determines whether date time output
should be the long or short form
</description>
<env-entry-name>useLongDateFormat</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
</session>
*/
public class InformerBean implements SessionBean {
private SessionContext sessionContext;
private Calendar cal;
private DateFormat formatter;
public void ejbCreate() throws CreateException {
cal = Calendar.getInstance();
try {
setup();
}
catch( Exception ex ) {
throw new CreateException( ex.getMessage() );
}
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext( SessionContext sessionContext ) {
this.sessionContext = sessionContext;
}
public String getTheTime() {
return formatter.format( cal.getTime() );
}
// demonstrates how to read an environment variable declared within
// the deployment descriptor of this component
private void setup() throws NamingException {
InitialContext ctx = new InitialContext();
Boolean b = (Boolean) ctx.lookup( "java:comp/env/useLongDateFormat" );
int style = ( b.booleanValue() ) ? DateFormat.LONG : DateFormat.SHORT;
formatter = SimpleDateFormat.getDateTimeInstance( style, style );
}
}