I reproduced the error after running a test case:
Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
I see above error repeatedly now on startup of Jboss.
partial server.log output:
2008-02-25 16:44:41,138 DEBUG [org.jboss.ejb3.stateful.StatefulDelegateWrapper] Starting jboss.j2ee:ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3
2008-02-25 16:44:41,138 DEBUG [org.jboss.ejb3.tx.UserTransactionImpl] new UserTx: org.jboss.ejb3.tx.UserTransactionImpl@1e5348f
2008-02-25 16:44:41,153 ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] Timer was not registered with Tx, resetting state: [id=4,target=[target=jboss.j2ee:service=EJB3,ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher],remaining=354399,periode=600060,in_timeout]
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: active
2008-02-25 16:44:41,153 ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] Timer was not registered with Tx, resetting state: [id=1,target=[target=jboss.j2ee:service=EJB3,ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher],remaining=237849,periode=600060,in_timeout]
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: active
2008-02-25 16:44:41,153 ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] Timer was not registered with Tx, resetting state: [id=3,target=[target=jboss.j2ee:service=EJB3,ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher],remaining=354274,periode=600060,in_timeout]
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: active
2008-02-25 16:44:41,153 ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] Timer was not registered with Tx, resetting state: [id=2,target=[target=jboss.j2ee:service=EJB3,ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher],remaining=238036,periode=600060,in_timeout]
2008-02-25 16:44:41,153 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: active
more output from console:
16:44:06,821 INFO [Server] Starting JBoss (MX MicroKernel)...
16:44:06,821 INFO [Server] Release ID: JBoss [Trinity] 4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)
16:44:06,821 INFO [Server] Home Dir: C:\jboss-4.2.1.GA
16:44:06,821 INFO [Server] Home URL: file:/C:/jboss-4.2.1.GA/
16:44:06,821 INFO [Server] Patch URL: null
16:44:06,821 INFO [Server] Server Name: default
16:44:06,821 INFO [Server] Server Home Dir: C:\jboss-4.2.1.GA\server\default
16:44:06,821 INFO [Server] Server Home URL: file:/C:/jboss-4.2.1.GA/server/default/
16:44:06,821 INFO [Server] Server Log Dir: C:\jboss-4.2.1.GA\server\default\log
16:44:06,821 INFO [Server] Server Temp Dir: C:\jboss-4.2.1.GA\server\default\tmp
16:44:06,821 INFO [Server] Root Deployment Filename: jboss-service.xml
16:44:07,149 INFO [ServerInfo] Java version: 1.5.0_11,Sun Microsystems Inc.
16:44:07,149 INFO [ServerInfo] Java VM: Java HotSpot(TM) Client VM 1.5.0_11-b03,Sun Microsystems Inc.
16:44:07,149 INFO [ServerInfo] OS-System: Windows XP 5.1,x86
16:44:08,617 INFO [Server] Core system initialized
16:44:11,319 INFO [WebService] Using RMI server codebase: http://127.0.0.1:8083/
16:44:11,319 INFO [Log4jService$URLWatchTimerTask] Configuring from URL: resource:jboss-log4j.xml
16:44:12,053 INFO [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.
16:44:12,053 INFO [TransactionManagerService] Setting up property manager MBean and JMX layer
16:44:12,365 INFO [TransactionManagerService] Starting recovery manager
16:44:12,521 INFO [TransactionManagerService] Recovery manager started
16:44:12,521 INFO [TransactionManagerService] Binding TransactionManager JNDI Reference
16:44:16,597 INFO [EJB3Deployer] Starting java:comp multiplexer
16:44:19,254 INFO [ServiceEndpointManager] jbossws-1.2.1.GA (build=200704151756)
16:44:21,770 INFO [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\MyEclipse 6.0\bin
16:44:21,927 INFO [Http11Protocol] Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080
16:44:21,927 INFO [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009
16:44:21,927 INFO [Catalina] Initialization processed in 524 ms
16:44:21,927 INFO [StandardService] Starting service jboss.web
16:44:21,942 INFO [StandardEngine] Starting Servlet Engine: JBossWeb/2.0.0.GA
16:44:22,052 INFO [Catalina] Server startup in 119 ms
16:44:22,255 INFO [TomcatDeployer] deploy, ctxPath=/, warUrl=.../deploy/jboss-web.deployer/ROOT.war/
16:44:23,474 INFO [TomcatDeployer] deploy, ctxPath=/invoker, warUrl=.../deploy/http-invoker.sar/invoker.war/
16:44:23,927 INFO [TomcatDeployer] deploy, ctxPath=/jbossws, warUrl=.../tmp/deploy/tmp46653jbossws-context-exp.war/
16:44:24,193 INFO [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=.../deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/
16:44:26,257 INFO [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=.../deploy/management/console-mgr.sar/web-console.war/
16:44:27,319 INFO [MailService] Mail Service bound to java:/Mail
16:44:27,726 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-local-jdbc.rar
16:44:27,835 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-xa-jdbc.rar
16:44:27,913 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-local-jdbc.rar
16:44:28,007 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-xa-jdbc.rar
16:44:28,132 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jms/jms-ra.rar
16:44:28,210 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/quartz-ra.rar
16:44:28,226 INFO [QuartzResourceAdapter] start quartz!!!
16:44:28,351 INFO [SimpleThreadPool] Job execution threads will use class loader of thread: main
16:44:28,414 INFO [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
16:44:28,414 INFO [RAMJobStore] RAMJobStore initialized.
16:44:28,414 INFO [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
16:44:28,414 INFO [StdSchedulerFactory] Quartz scheduler version: 1.5.2
16:44:28,414 INFO [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
16:44:28,773 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=SecurityAuditPOCDatasource' to JNDI name 'java:SecurityAuditPOCDatasource'
16:44:29,992 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
16:44:30,477 INFO [A] Bound to JNDI name: queue/A
16:44:30,477 INFO [B] Bound to JNDI name: queue/B
16:44:30,477 INFO [C] Bound to JNDI name: queue/C
16:44:30,477 INFO [D] Bound to JNDI name: queue/D
16:44:30,493 INFO [ex] Bound to JNDI name: queue/ex
16:44:30,524 INFO [testTopic] Bound to JNDI name: topic/testTopic
16:44:30,524 INFO [securedTopic] Bound to JNDI name: topic/securedTopic
16:44:30,524 INFO [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
16:44:30,524 INFO [testQueue] Bound to JNDI name: queue/testQueue
16:44:30,602 INFO [UILServerILService] JBossMQ UIL service available at : /127.0.0.1:8093
16:44:30,680 INFO [DLQ] Bound to JNDI name: queue/DLQ
16:44:30,962 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
16:44:31,040 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
16:44:31,399 INFO [EARDeployer] Init J2EE application: file:/C:/jboss-4.2.1.GA/server/default/deploy/SecurityAuditPOC.ear
16:44:36,292 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.entity.PersistenceUnitDeployment
16:44:36,292 INFO [JmxKernelAbstraction] installing MBean: persistence.units:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,unitName=SecurityAuditPOC with dependencies:
16:44:36,292 INFO [JmxKernelAbstraction] jboss.jca:name=SecurityAuditPOCDatasource,service=DataSourceBinding
16:44:36,323 INFO [PersistenceUnitDeployment] Starting persistence unit persistence.units:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,unitName=SecurityAuditPOC
16:44:36,401 INFO [Version] Hibernate EntityManager 3.2.1.GA
16:44:36,433 INFO [Version] Hibernate Annotations 3.2.1.GA
16:44:36,448 INFO [Environment] Hibernate 3.2.4.sp1
16:44:36,464 INFO [Environment] hibernate.properties not found
16:44:36,464 INFO [Environment] Bytecode provider name : javassist
16:44:36,480 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
16:44:36,808 INFO [Ejb3Configuration] found EJB3 Entity bean: com.cox.model.Customer
16:44:36,808 INFO [Ejb3Configuration] found EJB3 Entity bean: com.cox.model.Dummypoc
16:44:36,808 INFO [Ejb3Configuration] found EJB3 Entity bean: com.cox.model.Payment
16:44:36,808 INFO [Ejb3Configuration] found EJB3 Entity bean: com.cox.model.SecurityRole
16:44:36,902 INFO [Configuration] Reading mappings from resource : META-INF/orm.xml
16:44:36,902 INFO [Ejb3Configuration] [PersistenceUnit: SecurityAuditPOC] no META-INF/orm.xml found
16:44:37,011 INFO [AnnotationBinder] Binding entity from annotated class: com.cox.model.Customer
16:44:37,152 INFO [EntityBinder] Bind entity com.cox.model.Customer on table CUSTOMER
16:44:37,355 INFO [AnnotationBinder] Binding entity from annotated class: com.cox.model.Dummypoc
16:44:37,355 INFO [EntityBinder] Bind entity com.cox.model.Dummypoc on table DUMMYPOC
16:44:37,386 INFO [AnnotationBinder] Binding entity from annotated class: com.cox.model.Payment
16:44:37,386 INFO [EntityBinder] Bind entity com.cox.model.Payment on table PAYMENT
16:44:37,402 INFO [AnnotationBinder] Binding entity from annotated class: com.cox.model.SecurityRole
16:44:37,402 INFO [EntityBinder] Bind entity com.cox.model.SecurityRole on table SECURITY_ROLE
16:44:37,605 INFO [CollectionBinder] Mapping collection: com.cox.model.Customer.payments -> PAYMENT
16:44:37,730 INFO [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
16:44:37,746 INFO [InjectedDataSourceConnectionProvider] Using provided datasource
16:44:38,512 INFO [SettingsFactory] RDBMS: Microsoft SQL Server, version: 9.00.3054
16:44:38,512 INFO [SettingsFactory] JDBC driver: Microsoft SQL Server 2005 JDBC Driver, version: 1.2.2828.100
16:44:38,574 INFO [Dialect] Using dialect: org.hibernate.dialect.SQLServerDialect
16:44:38,605 INFO [TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
16:44:38,605 INFO [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
16:44:38,605 INFO [TransactionManagerLookupFactory] instantiated TransactionManagerLookup
16:44:38,605 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled
16:44:38,605 INFO [SettingsFactory] Automatic session close at end of transaction: disabled
16:44:38,605 INFO [SettingsFactory] Scrollable result sets: enabled
16:44:38,605 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): enabled
16:44:38,605 INFO [SettingsFactory] Connection release mode: auto
16:44:38,621 INFO [SettingsFactory] Default schema: dbo
16:44:38,621 INFO [SettingsFactory] Default catalog: boIcomsSecurityAuditPOC
16:44:38,621 INFO [SettingsFactory] Default batch fetch size: 1
16:44:38,621 INFO [SettingsFactory] Generate SQL with comments: disabled
16:44:38,621 INFO [SettingsFactory] Order SQL updates by primary key: disabled
16:44:38,621 INFO [SettingsFactory] Order SQL inserts for batching: disabled
16:44:38,621 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
16:44:38,621 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
16:44:38,621 INFO [SettingsFactory] Query language substitutions: {}
16:44:38,621 INFO [SettingsFactory] JPA-QL strict compliance: enabled
16:44:38,621 INFO [SettingsFactory] Second-level cache: enabled
16:44:38,621 INFO [SettingsFactory] Query cache: disabled
16:44:38,621 INFO [SettingsFactory] Cache provider: org.hibernate.cache.HashtableCacheProvider
16:44:38,637 INFO [SettingsFactory] Optimize cache for minimal puts: disabled
16:44:38,637 INFO [SettingsFactory] Cache region prefix: SecurityAuditPOC_ear,SecurityAuditPOC_jar,SecurityAuditPOC
16:44:38,637 INFO [SettingsFactory] Structured second-level cache entries: disabled
16:44:38,652 INFO [SettingsFactory] Echoing all SQL to stdout
16:44:38,652 INFO [SettingsFactory] Statistics: disabled
16:44:38,652 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
16:44:38,652 INFO [SettingsFactory] Default entity-mode: pojo
16:44:38,652 INFO [SettingsFactory] Named query checking : enabled
16:44:38,730 INFO [SessionFactoryImpl] building session factory
16:44:39,309 INFO [SessionFactoryObjectFactory] Factory name: persistence.units:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,unitName=SecurityAuditPOC
16:44:39,324 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
16:44:39,324 INFO [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.units:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,unitName=SecurityAuditPOC
16:44:39,324 WARN [SessionFactoryObjectFactory] InitialContext did not implement EventContext
16:44:39,340 INFO [SchemaUpdate] Running hbm2ddl schema update
16:44:39,340 INFO [SchemaUpdate] fetching database metadata
16:44:39,340 INFO [SchemaUpdate] updating schema
16:44:39,731 INFO [TableMetadata] table found: boIcomsSecurityAuditPOC.dbo.SECURITY_ROLE
16:44:39,731 INFO [TableMetadata] columns: [security_role_desc, security_role_name, security_role_id, security_role_ad_group_name]
16:44:39,731 INFO [TableMetadata] foreign keys: []
16:44:39,731 INFO [TableMetadata] indexes: [pk__security_role__7c8480ae]
16:44:39,762 INFO [TableMetadata] table found: boIcomsSecurityAuditPOC.dbo.CUSTOMER
16:44:39,762 INFO [TableMetadata] columns: [customer_name, customer_id, customer_desc]
16:44:39,762 INFO [TableMetadata] foreign keys: []
16:44:39,762 INFO [TableMetadata] indexes: [pk__customer__0daf0cb0]
16:44:39,762 INFO [TableMetadata] table found: boIcomsSecurityAuditPOC.dbo.DUMMYPOC
16:44:39,762 INFO [TableMetadata] columns: [updatedate, description, insertdate, id]
16:44:39,762 INFO [TableMetadata] foreign keys: []
16:44:39,762 INFO [TableMetadata] indexes: [pk__dummypoc__15502e78]
16:44:39,778 INFO [TableMetadata] table found: boIcomsSecurityAuditPOC.dbo.PAYMENT
16:44:39,778 INFO [TableMetadata] columns: [payment_price, payment_desc, customer_id, payment_id, payment_type]
16:44:39,778 INFO [TableMetadata] foreign keys: [fkfbe7bde6b7f0186e, fk__payment__custome__108b795b]
16:44:39,778 INFO [TableMetadata] indexes: [pk__payment__0f975522]
16:44:39,793 INFO [TableMetadata] table found: boIcomsSecurityAuditPOC.dbo.SECURITY_ROLE
16:44:39,793 INFO [TableMetadata] columns: [security_role_desc, security_role_name, security_role_id, security_role_ad_group_name]
16:44:39,793 INFO [TableMetadata] foreign keys: []
16:44:39,793 INFO [TableMetadata] indexes: [pk__security_role__7c8480ae]
16:44:39,793 INFO [SchemaUpdate] schema update complete
16:44:39,809 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
16:44:39,997 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
16:44:40,012 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,name=Authenticator,service=EJB3 with dependencies:
16:44:40,325 INFO [EJBContainer] STARTED EJB: com.cox.ejb.session.Authenticator ejbName: Authenticator
16:44:40,419 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
16:44:40,419 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,name=EJBPollingProcessorBean,service=EJB3 with dependencies:
16:44:40,450 INFO [EJBContainer] STARTED EJB: com.cox.ejb.session.EJBPollingProcessorBean ejbName: EJBPollingProcessorBean
16:44:40,481 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
16:44:40,481 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,name=SecurityRoleManager,service=EJB3 with dependencies:
16:44:40,497 INFO [EJBContainer] STARTED EJB: com.cox.ejb.session.SecurityRoleManager ejbName: SecurityRoleManager
16:44:40,528 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateful.StatefulContainer
16:44:40,528 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=SecurityAuditPOC.ear,jar=SecurityAuditPOC.jar,name=TestADGroupNameAction,service=EJB3 with dependencies:
16:44:40,637 INFO [EJBContainer] STARTED EJB: com.cox.ejb.session.TestADGroupNameAction ejbName: TestADGroupNameAction
16:44:40,684 INFO [EJB3Deployer] Deployed: file:/C:/jboss-4.2.1.GA/server/default/tmp/deploy/tmp46683SecurityAuditPOC.ear-contents/SecurityAuditPOC.jar
16:44:40,731 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
16:44:40,731 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3 with dependencies:
16:44:40,794 INFO [EJBContainer] STARTED EJB: org.jboss.seam.async.TimerServiceDispatcher ejbName: TimerServiceDispatcher
16:44:41,044 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateful.StatefulContainer
16:44:41,044 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=SecurityAuditPOC.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3 with dependencies:
16:44:41,153 ERROR [TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
16:44:41,153 ERROR [TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
16:44:41,153 ERROR [TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
16:44:41,153 ERROR [TimerImpl] Error invoking ejbTimeout: java.lang.RuntimeException: java.lang.IllegalStateException: Attempted to invoke a Seam component outside the an initialized application
16:44:41,153 INFO [EJBContainer] STARTED EJB: org.jboss.seam.transaction.EjbSynchronizations ejbName: EjbSynchronizations
16:44:41,185 INFO [EJB3Deployer] Deployed: file:/C:/jboss-4.2.1.GA/server/default/tmp/deploy/tmp46683SecurityAuditPOC.ear-contents/jboss-seam.jar
16:44:41,185 INFO [TomcatDeployer] deploy, ctxPath=/SecurityAuditPOC, warUrl=.../tmp/deploy/tmp46683SecurityAuditPOC.ear-contents/SecurityAuditPOC-exp.war/
16:44:45,577 INFO [ServletContextListener] Welcome to Seam 2.0.0.GA
SFSB:
@Name("groupNameAction")
@Stateful
public class TestADGroupNameAction implements TestADGroupNameLocal {
@Logger
Log log;
@In
EJBPollingControllerLocal EJBPollingControllerBean;
private String SAMAccountName;
//default DN below
private String distinguishedName = "CN=!CCI ORG APP - SHIMS Tech,OU=Groups,OU=Orange County,OU=CCI,DC=CORP,DC=COX,DC=com";
private Map<String,String> map;
public void setDistinguishedName(String distinguishedName) {
this.distinguishedName = distinguishedName;
}
public String getDistinguishedName() {
return distinguishedName;
}
public String getSAMAccountName() {
return SAMAccountName;
}
public void setSAMAccountName(String SAMAccountName) {
this.SAMAccountName = SAMAccountName;
}
//for populating the drop-down
public Map<String, String> getMembersOfRoleMap() {
map = EJBPollingControllerBean.getMembersOfRoleMap(distinguishedName);
return map;
}
//for populating the dataTable
/*public List<UserItem> getMembersList() {
return EJBPollingControllerBean.getMembersList(distinguishedName);
}*/
@Remove @Destroy
public void destroy(){}
}
controller SLSB:
@Name("EJBPollingControllerBean")
@Stateless
@AutoCreate
public class EJBPollingControllerBean implements EJBPollingControllerLocal
{
@In EJBPollingProcessorLocal EJBPollingProcessorBean;
@Logger Log log;
public Map<String, String> getMembersOfRoleMap(String distinguishedName){
//get the map from the application context of EJBPollingProcessorBean
Long pollingInterval = null;
Map<String, String> map = EJBPollingProcessorBean.getMap();
//only schedule if it hasn't already been scheduled (i.e. only once per server restart on the first client's session)
if(map == null) {
String activeDirectoryPollingInterval = CoxProperties.getPropertyObject().getProperty(CoxConstants.ACTIVE_DIRECTORY_POLLING_INTERVAL);
if (activeDirectoryPollingInterval != null) {
pollingInterval = Long.valueOf(activeDirectoryPollingInterval);
}
Timer timer = EJBPollingProcessorBean.schedulePoller(today(), pollingInterval, distinguishedName);
}
return EJBPollingProcessorBean.getMap();
}
//below for populating dataTable
/*public List<UserItem> getMembersList(String distinguishedName){
//get the list from the application context of EJBPollingProcessorBean
return null;
}*/
private Date today() {
Date date = new Date();
return date;
}
}
processor SLSB:
@Stateless
@AutoCreate
@Scope(ScopeType.APPLICATION)
@Name("EJBPollingProcessorBean")
public class EJBPollingProcessorBean implements EJBPollingProcessorLocal {
//TO DO: map needs to be stored in application context as it is session-independent data
//TO DO: convert this into an ArrayList of map objects b/c we will need a map
// for every drop-down in each app
private Map<String,String> map; // = new ArrayList<Map<String,String>>();
@Logger Log log;
public Timer schedulePoller(@Expiration Date when, @IntervalDuration Long interval, String distinguishedGroupName)
{
log.info("when = " + when);
log.info("interval = " + interval);
log.info("distinguishedGroupName = "+distinguishedGroupName);
String searchBase = CoxProperties.getPropertyObject().getProperty(CoxConstants.ACTIVE_DIRECTORY_SEARCH_BASE);
String providerUrl = CoxProperties.getPropertyObject().getProperty(CoxConstants.ACTIVE_DIRECTORY_PROVIDER_URL);
String principal = CoxProperties.getPropertyObject().getProperty(CoxConstants.ACTIVE_DIRECTORY_USER);
String credentials = CoxProperties.getPropertyObject().getProperty(CoxConstants.ACTIVE_DIRECTORY_PWD);
// Declare holders search result's
SearchAdapterResult<UserItem> userSearchResults = null;
List<UserItem> userItemList = null;
// Create a new instance of CADILS search adapter
SearchAdapter sa = new SearchAdapter(searchBase, providerUrl, principal, credentials);
try {
String groupSearchFilter = "*)(memberOf=" + distinguishedGroupName;
userSearchResults = sa.searchBySAMAccountName(groupSearchFilter);
if (userSearchResults.hasItems()) {
//List of all the AD users who belong to your group
userItemList = userSearchResults.getItemList();
}
}
catch (SearchFailedException sfe) {
log.error(sfe);
}
Iterator<UserItem> it = userItemList.iterator();
if (map != null) {
map.clear();
}
while(it.hasNext()) {
UserItem ui = it.next();
log.info("ui.getDisplayName() = " + ui.getDisplayName());
log.info("ui.getADSPath() = " + ui.getADSPath());
map.put(ui.getDisplayName(), ui.getSAMAccountName());
log.info("after map.put()");
}
return null;
}
public Map<String,String> getMap() {
return map;
}
}