I am working on porting an application from Jboss 5 to Jboss 7, but have had no luck in resolving the error below.<br>Any advice would be greatly appreciated!��� <br>Thanks, -Brian<br><br>Jboss Log:<br>09:44:48,135 INFO� [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) Deploying JDBC-compliant driver class org.h2.Driver (version 1.2)<br>
09:44:48,228 INFO� [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)<br>09:44:48,330 INFO� [org.jboss.as.clustering.infinispan.subsystem] (Controller Boot Thread) Activating Infinispan subsystem.<br>
09:44:48,801 INFO� [org.jboss.as.naming] (Controller Boot Thread) Activating Naming Subsystem<br>09:44:48,865 INFO� [org.jboss.as.naming] (MSC service thread 1-1) Starting Naming Service <br>09:44:48,889 INFO� [org.jboss.as.osgi] (Controller Boot Thread) Activating OSGi Subsystem<br>
09:44:48,976 INFO� [org.jboss.remoting] (MSC service thread 1-3) JBoss Remoting version 3.2.0.Beta2<br>09:44:48,977 INFO� [org.jboss.as.security] (Controller Boot Thread) Activating Security Subsystem<br>09:44:49,053 INFO� [org.xnio] (MSC service thread 1-3) XNIO Version 3.0.0.Beta3<br>
09:44:49,086 INFO� [org.xnio.nio] (MSC service thread 1-3) XNIO NIO Implementation Version 3.0.0.Beta3<br>09:44:49,894 INFO� [org.apache.catalina.core.AprLifecycleListener] (MSC service thread 1-3) The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/brian/MoveableFeast/pkg/jdk/jre/lib/i386/server:/home/brian/MoveableFeast/pkg/jdk/jre/lib/i386:/home/brian/MoveableFeast/pkg/jdk/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib<br>
09:44:49,982 INFO� [<a href="http://org.jboss.as.ee">org.jboss.as.ee</a>] (Controller Boot Thread) Activating EE subsystem<br>09:44:49,987 INFO� [org.jboss.as.jmx.JMXConnectorService] (MSC service thread 1-1) Starting remote JMX connector<br>
09:44:50,178 INFO� [org.jboss.as.remoting] (MSC service thread 1-4) Listening on /<a href="http://127.0.0.1:9999">127.0.0.1:9999</a><br>09:44:50,932 INFO� [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-2) Starting Coyote HTTP/1.1 on http--127.0.0.1-8080<br>
09:44:50,979 INFO� [org.jboss.as.connector] (MSC service thread 1-1) Starting JCA Subsystem (JBoss IronJacamar 1.0.0.CR2)<br>09:44:51,088 INFO� [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) Bound data source [java:jboss/datasources/security]<br>
09:44:51,097 INFO� [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) Bound data source [java:jboss/datasources/ExampleDS]<br>09:44:52,578 INFO� [org.jboss.as.deployment] (MSC service thread 1-3) Started FileSystemDeploymentService for directory /home/brian/MoveableFeast/pkg/jboss/standalone/deployments<br>
09:44:52,678 INFO� [<a href="http://org.jboss.as">org.jboss.as</a>] (Controller Boot Thread) JBoss AS 7.0.0.Final "Lightning" started in 12158ms - Started 98 of 153 services (55 services are passive or on-demand)<br>
09:44:52,801 INFO� [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "security.ear"<br>09:44:53,495 INFO� [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "security-ejb-2.0.jar"<br>
09:44:53,496 INFO� [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "security-war-2.0.war"<br>09:44:54,731 INFO� [org.jboss.jpa] (MSC service thread 1-2) read persistence.xml for security<br>
09:44:54,754 WARN� [org.jboss.as.server.deployment] (MSC service thread 1-4) Class Path entry faces-common-2.0.jar in "/content/security.ear/security-war-2.0.war/WEB-INF/lib/security-ejb-2.0.jar"� does not point to a valid jar for a Class-Path reference.<br>
09:44:54,754 WARN� [org.jboss.as.server.deployment] (MSC service thread 1-4) Class Path entry commons-logging-1.1.1.jar in "/content/security.ear/security-war-2.0.war/WEB-INF/lib/security-ejb-2.0.jar"� does not point to a valid jar for a Class-Path reference.<br>
09:44:54,896 INFO� [org.jboss.jpa] (MSC service thread 1-1) read persistence.xml for security<br>09:44:55,262 INFO� [org.jboss.jpa] (MSC service thread 1-4) read persistence.xml for security<br>09:44:55,790 INFO� [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-1) JNDI bindings for session bean named SecurityManager in deployment unit subdeployment "security-ejb-2.0.jar" of deployment "security.ear" are as follows:<br>
<br>��� java:global/security/security-ejb-2.0/SecurityManager!security.ejb.client.SecurityManagerRemote<br>��� java:app/security-ejb-2.0/SecurityManager!security.ejb.client.SecurityManagerRemote<br>��� java:module/SecurityManager!security.ejb.client.SecurityManagerRemote<br>
��� java:global/security/security-ejb-2.0/SecurityManager<br>��� java:app/security-ejb-2.0/SecurityManager<br>��� java:module/SecurityManager<br><br>09:44:56,013 INFO� [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named SecurityManager in deployment unit subdeployment "security-war-2.0.war" of deployment "security.ear" are as follows:<br>
<br>��� java:global/security/security-war-2.0/SecurityManager!security.ejb.client.SecurityManagerRemote<br>��� java:app/security-war-2.0/SecurityManager!security.ejb.client.SecurityManagerRemote<br>��� java:module/SecurityManager!security.ejb.client.SecurityManagerRemote<br>
��� java:global/security/security-war-2.0/SecurityManager<br>��� java:app/security-war-2.0/SecurityManager<br>��� java:module/SecurityManager<br><br>09:44:56,682 INFO� [org.jboss.jpa] (MSC service thread 1-3) starting Persistence Unit Service 'security.ear#security' <br>
09:44:57,489 INFO� [org.jboss.jpa] (MSC service thread 1-1) starting Persistence Unit Service 'security.ear/security-ejb-2.0.jar#security' <br>09:44:57,531 INFO� [org.hibernate.annotations.common.Version] (MSC service thread 1-3) Hibernate Commons Annotations 3.2.0.Final<br>
09:44:57,597 INFO� [org.hibernate.cfg.Environment] (MSC service thread 1-3) HHH00412:Hibernate [WORKING]<br>09:44:57,599 INFO� [org.hibernate.cfg.Environment] (MSC service thread 1-3) HHH00206:hibernate.properties not found<br>
09:44:57,606 INFO� [org.hibernate.cfg.Environment] (MSC service thread 1-3) HHH00021:Bytecode provider name : javassist<br>09:44:57,718 INFO� [org.hibernate.ejb.Ejb3Configuration] (MSC service thread 1-1) HHH00204:Processing PersistenceUnitInfo [<br>
��� name: security<br>��� ...]<br>09:44:57,730 INFO� [org.hibernate.ejb.Ejb3Configuration] (MSC service thread 1-3) HHH00204:Processing PersistenceUnitInfo [<br>��� name: security<br>��� ...]<br>09:44:57,813 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.persistenceunit."security.ear#security": org.jboss.msc.service.StartException in service jboss.persistenceunit."security.ear#security": Failed to start service<br>
��� at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1786)<br>��� at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)<br>��� at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_17]<br>
��� at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_17]<br>��� at java.lang.Thread.run(Thread.java:619) [:1.6.0_17]<br>Caused by: java.lang.RuntimeException: error trying to scan <jar-file>: vfs:/content/security.ear/<br>
��� at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:844)<br>��� at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:586)<br>��� at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72)<br>
��� at org.jboss.as.jpa.service.PersistenceUnitService.createContainerEntityManagerFactory(PersistenceUnitService.java:170)<br>��� at org.jboss.as.jpa.service.PersistenceUnitService.start(PersistenceUnitService.java:80)<br>
��� at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)<br>��� ... 4 more<br>Caused by: java.lang.RuntimeException: Missing annotation index to scan entity classes<br>��� at org.jboss.as.jpa.hibernate.HibernateAnnotationScanner.getClassesInJar(HibernateAnnotationScanner.java:119)<br>
��� at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:474)<br>��� at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:841)<br>��� ... 9 more<br><br>09:44:58,021 WARN� [org.hibernate.cfg.AnnotationBinder] (MSC service thread 1-1) HHH00194:Package not found or wo package-info.java: security.ejb.server.entity<br>
09:44:58,021 WARN� [org.hibernate.cfg.AnnotationBinder] (MSC service thread 1-1) HHH00194:Package not found or wo package-info.java: security.ejb.server<br>09:44:58,022 WARN� [org.hibernate.cfg.AnnotationBinder] (MSC service thread 1-1) HHH00194:Package not found or wo package-info.java: security.ejb.client<br>
09:44:58,022 WARN� [org.hibernate.cfg.AnnotationBinder] (MSC service thread 1-1) HHH00194:Package not found or wo package-info.java: security.util<br>09:44:58,022 WARN� [org.hibernate.cfg.AnnotationBinder] (MSC service thread 1-1) HHH00194:Package not found or wo package-info.java: security.ejb.util<br>
09:44:59,521 INFO� [org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator] (MSC service thread 1-1) HHH00130:Instantiating explicit connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider<br>
09:45:00,046 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit."security.ear"."security-war-2.0.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."security.ear"."security-war-2.0.war".INSTALL: Failed to process phase INSTALL of subdeployment "security-war-2.0.war" of deployment "security.ear"<br>
��� at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121)<br>��� at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)<br>��� at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)<br>
��� at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_17]<br>��� at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_17]<br>��� at java.lang.Thread.run(Thread.java:619) [:1.6.0_17]<br>
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Failed to install component org.jboss.as.ee.component.ComponentConfiguration[name=SecurityManager class=security.ejb.server.SecurityManager]<br>
��� at org.jboss.as.ee.component.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:77)<br>��� at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115)<br>��� ... 5 more<br>
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: security.ejb.server.SecurityManager.getUserByLogin(security.ejb.client.User)<br>��� at org.jboss.as.ejb3.component.EJBComponentCreateService.getComponentMethod(EJBComponentCreateService.java:114)<br>
��� at org.jboss.as.ejb3.component.EJBComponentCreateService.<init>(EJBComponentCreateService.java:90)<br>��� at org.jboss.as.ejb3.component.session.SessionBeanComponentCreateService.<init>(SessionBeanComponentCreateService.java:57)<br>
��� at org.jboss.as.ejb3.component.stateless.StatelessSessionComponentCreateService.<init>(StatelessSessionComponentCreateService.java:42)<br>��� at org.jboss.as.ejb3.component.stateless.StatelessComponentCreateServiceFactory.constructService(StatelessComponentCreateServiceFactory.java:40)<br>
��� at org.jboss.as.ee.component.ComponentInstallProcessor.deployComponent(ComponentInstallProcessor.java:97)<br>��� at org.jboss.as.ee.component.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:75)<br>��� ... 6 more<br>
Caused by: java.lang.NoSuchMethodException: security.ejb.server.SecurityManager.getUserByLogin(security.ejb.client.User)<br>��� at java.lang.Class.getMethod(Class.java:1605) [:1.6.0_17]<br>��� at org.jboss.as.ejb3.component.EJBComponentCreateService.getComponentMethod(EJBComponentCreateService.java:112)<br>
��� ... 12 more<br><br>09:45:00,879 INFO� [org.hibernate.dialect.Dialect] (MSC service thread 1-1) HHH00400:Using dialect: org.hibernate.dialect.MySQLDialect<br>09:45:00,910 INFO� [org.hibernate.engine.transaction.internal.TransactionFactoryInitiator] (MSC service thread 1-1) HHH00268:Transaction strategy: org.hibernate.engine.transaction.internal.jta.CMTTransactionFactory<br>
09:45:00,926 INFO� [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (MSC service thread 1-1) HHH00397:Using ASTQueryTranslatorFactory<br>09:45:01,058 INFO� [org.hibernate.validator.util.Version] (MSC service thread 1-1) Hibernate Validator 4.1.0.Final<br>
09:45:01,068 INFO� [org.hibernate.validator.engine.resolver.DefaultTraversableResolver] (MSC service thread 1-1) Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.<br>09:45:01,787 INFO� [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) Deployment of "security.ear" was rolled back with failure message {"Failed services" => {"jboss.deployment.subunit.\"security.ear\".\"security-war-2.0.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"security.ear\".\"security-war-2.0.war\".INSTALL: Failed to process phase INSTALL of subdeployment \"security-war-2.0.war\" of deployment \"security.ear\"","jboss.persistenceunit.\"security.ear#security\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"security.ear#security\": Failed to start service"},"Services with missing/unavailable dependencies" => ["jboss.naming.context.java.comp.security.\"security-war-2.0\".\"security-war-2.0\".Validator missing [ jboss.naming.context.java.module.security.\"security-war-2.0\" ]","jboss.naming.context.java.comp.security.\"security-war-2.0\".\"security-war-2.0\".ValidatorFactory missing [ jboss.naming.context.java.module.security.\"security-war-2.0\" ]"]}<br>
09:45:01,834 INFO� [org.jboss.jpa] (MSC service thread 1-2) stopping Persistence Unit Service 'security.ear/security-ejb-2.0.jar#security' <br>09:45:01,878 INFO� [org.jboss.as.server.deployment] (MSC service thread 1-4) Stopped deployment security-ejb-2.0.jar in 89ms<br>
09:45:01,929 INFO� [org.jboss.as.server.deployment] (MSC service thread 1-4) Stopped deployment security-war-2.0.war in 141ms<br>09:45:01,937 INFO� [org.jboss.as.server.deployment] (MSC service thread 1-1) Stopped deployment security.ear in 151ms<br>
09:45:01,941 ERROR [org.jboss.as.deployment] (DeploymentScanner-threads - 1) {"Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"Failed services" => {"jboss.deployment.subunit.\"security.ear\".\"security-war-2.0.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"security.ear\".\"security-war-2.0.war\".INSTALL: Failed to process phase INSTALL of subdeployment \"security-war-2.0.war\" of deployment \"security.ear\"","jboss.persistenceunit.\"security.ear#security\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"security.ear#security\": Failed to start service"},"Services with missing/unavailable dependencies" => ["jboss.naming.context.java.comp.security.\"security-war-2.0\".\"security-war-2.0\".Validator missing [ jboss.naming.context.java.module.security.\"security-war-2.0\" ]","jboss.naming.context.java.comp.security.\"security-war-2.0\".\"security-war-2.0\".ValidatorFactory missing [ jboss.naming.context.java.module.security.\"security-war-2.0\" ]"]}}}<br>
<br><br>Standalone.xml:<br><?xml version='1.0' encoding='UTF-8'?><br><br><server name="BigShortyComputer" xmlns="urn:jboss:domain:1.0"><br>��� <extensions><br>������� <extension module="org.jboss.as.clustering.infinispan"/><br>
������� <extension module="org.jboss.as.connector"/><br>������� <extension module="org.jboss.as.deployment-scanner"/><br>������� <extension module="<a href="http://org.jboss.as.ee">org.jboss.as.ee</a>"/><br>
������� <extension module="org.jboss.as.ejb3"/><br>������� <extension module="org.jboss.as.jaxrs"/><br>������� <extension module="org.jboss.as.jmx"/><br>������� <extension module="org.jboss.as.jpa"/><br>
������� <extension module="org.jboss.as.logging"/><br>������� <extension module="org.jboss.as.naming"/><br>������� <extension module="org.jboss.as.osgi"/><br>������� <extension module="org.jboss.as.remoting"/><br>
������� <extension module="org.jboss.as.sar"/><br>������� <extension module="org.jboss.as.security"/><br>������� <extension module="org.jboss.as.threads"/><br>������� <extension module="org.jboss.as.transactions"/><br>
������� <extension module="org.jboss.as.web"/><br>������� <extension module="org.jboss.as.weld"/><br>��� </extensions><br>��� <management><br>������� <security-realms><br>
����������� <security-realm name="PropertiesMgmtSecurityRealm"><br>��������������� <authentication><br>������������������� <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/><br>
��������������� </authentication><br>����������� </security-realm><br>������� </security-realms><br>������� <management-interfaces><br>����������� <native-interface interface="management" port="9999"/><br>
����������� <http-interface interface="management" port="9990"/><br>������� </management-interfaces><br>��� </management><br>��� <profile><br>������� <subsystem xmlns="urn:jboss:domain:logging:1.0"><br>
����������� <console-handler name="CONSOLE" autoflush="true"><br>��������������� <level name="INFO"/><br>��������������� <formatter><br>������������������� <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/><br>
��������������� </formatter><br>����������� </console-handler><br>����������� <periodic-rotating-file-handler name="FILE" autoflush="true"><br>��������������� <level name="INFO"/><br>
��������������� <formatter><br>������������������� <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/><br>��������������� </formatter><br>��������������� <file relative-to="jboss.server.log.dir" path="server.log"/><br>
��������������� <suffix value=".yyyy-MM-dd"/><br>����������� </periodic-rotating-file-handler><br>����������� <logger category="com.arjuna"><br>��������������� <level name="WARN"/><br>
����������� </logger><br>����������� <logger category="org.apache.tomcat.util.modeler"><br>��������������� <level name="WARN"/><br>����������� </logger><br>����������� <logger category="sun.rmi"><br>
��������������� <level name="WARN"/><br>����������� </logger><br>����������� <root-logger><br>��������������� <level name="INFO"/><br>��������������� <handlers><br>������������������� <handler name="CONSOLE"/><br>
������������������� <handler name="FILE"/><br>��������������� </handlers><br>����������� </root-logger><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:datasources:1.0"><br>
����������� <datasources><br>��������������� <datasource jndi-name="java:jboss/datasources/security" pool-name="POOL" enabled="true" jta="true" use-java-context="true" use-ccm="true"><br>
������������������� <connection-url><br>����������������������� jdbc:mysql://localhost/security<br>������������������� </connection-url><br>������������������� <driver><br>����������������������� mysqldriver<br>
������������������� </driver><br>������������������� <pool><br>����������������������� <prefill><br>��������������������������� false<br>����������������������� </prefill><br>����������������������� <use-strict-min><br>
��������������������������� false<br>����������������������� </use-strict-min><br>����������������������� <flush-strategy><br>��������������������������� FailingConnectionOnly<br>����������������������� </flush-strategy><br>
������������������� </pool><br>������������������� <security><br>����������������������� <user-name><br>��������������������������� bunnies<br>����������������������� </user-name><br>����������������������� <password><br>
��������������������������� bunnies<br>����������������������� </password><br>������������������� </security><br>������������������� <validation><br>����������������������� <validate-on-match><br>
��������������������������� false<br>
����������������������� </validate-on-match><br>����������������������� <background-validation><br>��������������������������� false<br>����������������������� </background-validation><br>����������������������� <useFastFail><br>
��������������������������� false<br>����������������������� </useFastFail><br>������������������� </validation><br>��������������� </datasource><br>��������������� <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="H2DS" enabled="true" jta="true" use-java-context="true" use-ccm="true"><br>
������������������� <connection-url><br>����������������������� jdbc:h2:mem:test;DB_CLOSE_DELAY=-1<br>������������������� </connection-url><br>������������������� <driver><br>����������������������� h2<br>
������������������� </driver><br>������������������� <pool><br>����������������������� <prefill><br>��������������������������� false<br>����������������������� </prefill><br>����������������������� <use-strict-min><br>
��������������������������� false<br>����������������������� </use-strict-min><br>����������������������� <flush-strategy><br>��������������������������� FailingConnectionOnly<br>����������������������� </flush-strategy><br>
������������������� </pool><br>������������������� <security><br>����������������������� <user-name><br>��������������������������� sa<br>����������������������� </user-name><br>����������������������� <password><br>
��������������������������� sa<br>����������������������� </password><br>������������������� </security><br>������������������� <validation><br>����������������������� <validate-on-match><br>��������������������������� false<br>
����������������������� </validate-on-match><br>����������������������� <background-validation><br>��������������������������� false<br>����������������������� </background-validation><br>����������������������� <useFastFail><br>
��������������������������� false<br>����������������������� </useFastFail><br>������������������� </validation><br>��������������� </datasource><br>��������������� <drivers><br>������������������� <driver name="h2" module="com.h2database.h2"><br>
����������������������� <xa-datasource-class><br>��������������������������� org.h2.jdbcx.JdbcDataSource<br>����������������������� </xa-datasource-class><br>������������������� </driver><br>������������������� <driver name="mysqldriver" module="com.mysql"><br>
����������������������� <xa-datasource-class><br>��������������������������� com.mysql.jdbc.jdbc2.optional.MysqlXADataSource<br>����������������������� </xa-datasource-class><br>������������������� </driver><br>
��������������� </drivers><br>����������� </datasources><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.0"><br>����������� <deployment-scanner name="default" path="deployments" scan-enabled="true" scan-interval="5000" relative-to="jboss.server.base.dir" deployment-timeout="60"/><br>
������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:ee:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:ejb3:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:infinispan:1.0" default-cache-container="hibernate"><br>
����������� <cache-container name="hibernate" default-cache="local-query"><br>��������������� <local-cache name="entity"><br>������������������� <eviction strategy="LRU" max-entries="10000"/><br>
������������������� <expiration max-idle="100000"/><br>��������������� </local-cache><br>��������������� <local-cache name="local-query"><br>������������������� <eviction strategy="LRU" max-entries="10000"/><br>
������������������� <expiration max-idle="100000"/><br>��������������� </local-cache><br>��������������� <local-cache name="timestamps"><br>������������������� <eviction strategy="NONE"/><br>
��������������� </local-cache><br>����������� </cache-container><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:jca:1.0"><br>
����������� <archive-validation enabled="false"/><br>����������� <bean-validation enabled="false"/><br>����������� <default-workmanager><br>��������������� <short-running-threads blocking="true" allow-core-timeout="false"><br>
������������������� <core-threads count="10" per-cpu="20"/><br>������������������� <queue-length count="10" per-cpu="20"/><br>������������������� <max-threads count="10" per-cpu="20"/><br>
������������������� <keepalive-time time="10" unit="SECONDS"/><br>��������������� </short-running-threads><br>��������������� <long-running-threads blocking="true" allow-core-timeout="false"><br>
������������������� <core-threads count="10" per-cpu="20"/><br>������������������� <queue-length count="10" per-cpu="20"/><br>������������������� <max-threads count="10" per-cpu="20"/><br>
������������������� <keepalive-time time="10" unit="SECONDS"/><br>��������������� </long-running-threads><br>����������� </default-workmanager><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:jmx:1.0"><br>
����������� <jmx-connector server-binding="jmx-connector-server" registry-binding="jmx-connector-registry"/><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:jpa:1.0"><br>
����������� <jpa default-datasource=""/><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:naming:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:osgi:1.0" activation="lazy"><br>
����������� <configuration pid="org.apache.felix.webconsole.internal.servlet.OsgiManager"><br>��������������� <property name="manager.root"><br>������������������� jboss-osgi<br>��������������� </property><br>
����������� </configuration><br>����������� <properties><br>��������������� <property name="org.jboss.osgi.system.modules"><br>������������������� org.apache.commons.logging,<br>������������������������������������������������������� org.apache.log4j,<br>
������������������������������������������������������� org.jboss.as.osgi,<br>������������������������������������������������������� org.slf4j,<br>��������������� </property><br>��������������� <property name="org.osgi.framework.system.packages.extra"><br>
������������������� org.apache.commons.logging;version=1.1.1,<br>������������������������������������������������������� org.apache.log4j;version=1.2,<br>������������������������������������������������������� org.jboss.as.osgi.service;version=7.0,<br>
������������������������������������������������������� org.jboss.osgi.deployment.interceptor;version=1.0,<br>������������������������������������������������������� org.jboss.osgi.spi.capability;version=1.0,<br>������������������������������������������������������� org.jboss.osgi.spi.util;version=1.0,<br>
������������������������������������������������������� org.jboss.osgi.testing;version=1.0,<br>������������������������������������������������������� org.jboss.osgi.vfs;version=1.0,<br>������������������������������������������������������� org.slf4j;version=1.5.10,<br>
��������������� </property><br>��������������� <property name="org.osgi.framework.startlevel.beginning"><br>������������������� 1<br>��������������� </property><br>����������� </properties><br>
����������� <modules><br>��������������� <module identifier="javaee.api"/><br>��������������� <module identifier="org.jboss.logging"/><br>��������������� <module identifier="org.apache.aries.util"/><br>
��������������� <module identifier="org.jboss.osgi.webconsole"/><br>��������������� <module identifier="org.osgi.compendium"/><br>��������������� <module identifier="org.apache.felix.log" startlevel="1"/><br>
��������������� <module identifier="org.jboss.osgi.logging" startlevel="1"/><br>��������������� <module identifier="org.apache.felix.configadmin" startlevel="1"/><br>��������������� <module identifier="org.jboss.as.osgi.configadmin" startlevel="1"/><br>
��������������� <module identifier="org.apache.aries.jmx" startlevel="2"/><br>��������������� <module identifier="org.apache.felix.eventadmin" startlevel="2"/><br>��������������� <module identifier="org.apache.felix.metatype" startlevel="2"/><br>
��������������� <module identifier="org.apache.felix.scr" startlevel="2"/><br>��������������� <module identifier="org.apache.felix.webconsole" startlevel="2"/><br>��������������� <module identifier="org.jboss.osgi.jmx" startlevel="2"/><br>
��������������� <module identifier="org.jboss.osgi.http" startlevel="2"/><br>��������������� <module identifier="org.jboss.osgi.blueprint" startlevel="3"/><br>��������������� <module identifier="org.jboss.osgi.webapp" startlevel="3"/><br>
��������������� <module identifier="org.jboss.osgi.xerces" startlevel="3"/><br>����������� </modules><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:remoting:1.0"/><br>
������� <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:sar:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:security:1.0"><br>
����������� <security-domains><br>��������������� <security-domain name="password"><br>������������������� <authentication><br>����������������������� <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required"><br>
��������������������������� <module-option name="securityDomain" value="java:/jaas/password"/><br>��������������������������� <module-option name="dsJndiName" value="java:/jboss/datasources/security"/><br>
��������������������������� <module-option name="principalsQuery" value="select PASSWORD from USERS where LOGIN=?"/><br>��������������������������� <module-option name="rolesQuery" value="select <a href="http://ROLES.NAME">ROLES.NAME</a>, USERS.PASSWORD from ROLES,USERS,USER_ROLE where USER_ROLE.ROLE_ID=<a href="http://ROLES.ID">ROLES.ID</a> and USER_ROLE.USER_ID=<a href="http://USERS.ID">USERS.ID</a> and USERS.LOGIN=?"/><br>
��������������������������� <module-option name="hashAlgorithm" value="SHA-256"/><br>��������������������������� <module-option name="hashEncoding" value="base64"/><br>
����������������������� </login-module><br>
������������������� </authentication><br>��������������� </security-domain><br>��������������� <security-domain name="other" cache-type="default"><br>������������������� <authentication><br>
����������������������� <login-module code="UsersRoles" flag="required"/><br>������������������� </authentication><br>��������������� </security-domain><br>����������� </security-domains><br>
������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:threads:1.0"/><br>������� <subsystem xmlns="urn:jboss:domain:transactions:1.0"><br>����������� <core-environment><br>
��������������� <process-id><br>������������������� <uuid/><br>��������������� </process-id><br>����������� </core-environment><br>����������� <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/><br>
����������� <coordinator-environment default-timeout="300"/><br>����������� <object-store/><br>������� </subsystem><br>������� <subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host"><br>
����������� <connector name="http" protocol="HTTP/1.1" socket-binding="http" scheme="http"/><br>����������� <virtual-server name="default-host" enable-welcome-root="true"><br>
��������������� <alias name="localhost"/><br>��������������� <alias name="<a href="http://example.com">example.com</a>"/><br>����������� </virtual-server><br>������� </subsystem><br>
������� <subsystem xmlns="urn:jboss:domain:weld:1.0"/><br>��� </profile><br>��� <interfaces><br>������� <interface name="management"><br>����������� <inet-address value="127.0.0.1"/><br>
������� </interface><br>������� <interface name="public"><br>����������� <inet-address value="127.0.0.1"/><br>������� </interface><br>��� </interfaces><br>��� <socket-binding-group name="standard-sockets" default-interface="public"><br>
������� <socket-binding name="http" port="8080"/><br>������� <socket-binding name="https" port="8443"/><br>������� <socket-binding name="jmx-connector-registry" port="1090"/><br>
������� <socket-binding name="jmx-connector-server" port="1091"/><br>������� <socket-binding name="jndi" port="1099"/><br>������� <socket-binding name="osgi-http" port="8090"/><br>
������� <socket-binding name="remoting" port="4447"/><br>������� <socket-binding name="txn-recovery-environment" port="4712"/><br>������� <socket-binding name="txn-status-manager" port="4713"/><br>
��� </socket-binding-group><br></server><br><br><br>Maven pom, for security-ejb:<br><?xml version="1.0"?><br><project<br>� xmlns="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a>"<br>
� xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br>� xsi:schemaLocation="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a> <a href="http://maven.apache.org/maven-v4_0_0.xsd">http://maven.apache.org/maven-v4_0_0.xsd</a>"><br>
� <modelVersion>4.0.0</modelVersion><br>� <groupId>security</groupId><br>� <artifactId>security-ejb</artifactId><br>� <packaging>ejb</packaging><br>� <version>2.0</version><br>
� <name>Security Management EJB Project</name><br>� <description>This is the EJB 3.0 project used for accessing database information<br>��� pertaining to the Security Management application.<br>� </description><br>
� <parent><br>��� <groupId>security</groupId><br>��� <artifactId>app</artifactId><br>��� <version>2.0</version><br>� </parent><br>� <dependencies><br><br>��� <dependency><br>
����� <groupId>security</groupId><br>����� <artifactId>faces-common</artifactId><br>����� <version>2.0</version><br>��� </dependency><br><br>��� <dependency><br>���� <groupId>org.jboss.spec.javax.ejb</groupId><br>
���� <artifactId>jboss-ejb-api_3.1_spec</artifactId><br>���� <version>1.0.1.Final</version><br>���� <scope>provided</scope> <br>�� </dependency><br><br><dependency><br>� <groupId>org.jboss.spec.javax.annotation</groupId><br>
� <artifactId>jboss-annotations-api_1.1_spec</artifactId><br>� <version>1.0.0.Final</version><br>� <scope>provided</scope> <br></dependency><br><br><dependency><br>� <groupId><a href="http://org.jboss.ws">org.jboss.ws</a></groupId><br>
� <artifactId>jbossws-spi</artifactId><br>� <version>2.0.0.Beta5</version><br>� <scope>provided</scope> <br></dependency><br><br>�<dependency><br>� <groupId>org.jboss.ejb3</groupId><br>
� <artifactId>jboss-ejb3-ext-api</artifactId><br>� <version>2.0.0-beta-1</version><br>� <scope>provided</scope> <br>�</dependency> <br><br><dependency><br>� <groupId>javax.inject</groupId><br>
� <artifactId>javax.inject</artifactId><br>� <version>1</version><br>� <scope>provided</scope> <br></dependency><br><br><dependency><br>���� <groupId>commons-logging</groupId><br>
���� <artifactId>commons-logging</artifactId><br>���� <version>1.1.1</version><br>���� <!-- <scope>provided</scope> --><br>�� </dependency><br><br>��� <dependency><br>
��� ��� <groupId>commons-lang</groupId><br>��� ��� <artifactId>commons-lang</artifactId><br>��� ��� <version>2.4</version><br>���� <scope>provided</scope> <br>��� </dependency><br>
<br><dependency><br>�<groupId>javax.faces</groupId><br>�<artifactId>jsf-api</artifactId><br>�<version>1.2_13</version><br>���� <scope>provided</scope> <br></dependency><br>
<br><dependency><br>�<groupId>org.jboss.spec.javax.servlet</groupId><br>�<artifactId>jboss-servlet-api_3.0_spec</artifactId><br>�<version>1.0.0.Final</version><br>�<scope>provided</scope> <br>
</dependency><br><br><dependency><br>� <groupId>org.hibernate.javax.persistence</groupId><br>� <artifactId>hibernate-jpa-2.0-api</artifactId><br>� <version>1.0.1.Final</version><br>
� <scope>provided</scope> <br></dependency><br><br><!-- From login example --><br><br><dependency><br>�������� <groupId>org.jboss.spec.javax.annotation</groupId><br>�������� <artifactId>jboss-annotations-api_1.1_spec</artifactId><br>
��� �<version>1.0.0.Final</version><br>�������� <scope>provided</scope><br>����� </dependency><br><br><br>� </dependencies><br>��� <build><br>������� <plugins><br>����������� <plugin><br>
��������������� <groupId>org.apache.maven.plugins</groupId><br>��������������� <artifactId>maven-ejb-plugin</artifactId><br>��� ��� <version>2.3</version><br>��������������� <configuration><br>
������������������� <ejbVersion>3.0</ejbVersion><br>������������������� <generateClient>true</generateClient><br>������������������� <archive><br>����������������������� <manifest><br>
��������������������������� <addClasspath>true</addClasspath><br>
����������������������� </manifest><br>������������������� </archive><br>��� ��� ��������� ��� <clientExcludes><br>������������ ��� ��� ��� <clientExclude>**/*CMP.class</clientExclude><br>������������� ��� ��� ��� <clientExclude>**/*Session.class</clientExclude><br>
����������� ��� ��� ��� <clientExclude>**/*package.html</clientExclude><br>��� ��� ��������� ��� </clientExcludes><br>��������������� </configuration><br>����������� </plugin><br>����������� <plugin><br>
������������������� <groupId>org.apache.maven.plugins</groupId><br>������������������� <artifactId>maven-antrun-plugin</artifactId><br>������������������� <version>1.6</version>��� ��� ��� <br>
��� ��� ��� ��� <executions><br>��� ��� ��� ��� ��� <execution><br>��� ��� ��� ��� ��� � ��� <id>construct-jboss-xml</id><br>��� ��� ��� ��� ��� ��� <phase>process-classes</phase><br>��� ��� ��� ��� ��� ��� <configuration><br>
��� ��� ��� ��� ��� ��� ��� <tasks><br>��� ��� ��� ��� ��� ��� ��� � <copy<br>������������������������������� file="src/main/etc/jboss-${<a href="http://login.policy.name">login.policy.name</a>}.xml"<br>
������������������������������� tofile="target/classes/META-INF/jboss.xml"<br>������������������������������� overwrite="true"><br>������������������������������� <filterset><br>��������������������������������� <filter<br>
������������������������������������ token="DOMAIN"<br>������������������������������������ value="${login.domain}" /><br>��������������������������������� <filter<br>������������������������������������ token="AUTH_METHOD"<br>
������������������������������������ value="${auth.method}" /><br>��������������������������������� </filterset><br>������������������������������� </copy><br>���������������������������� <!--��� <copy<br>
����������������������������������� file="src/main/etc/persistence.xml.template"<br>����������������������������������� tofile="target/classes/META-INF/persistence.xml"<br>����������������������������������� overwrite="true"><br>
����������������������������������� <filterset><br>��������������������������������������� <filter<br>������������������������������������������� token="HIBERNATE_DIALECT"<br>������������������������������������������� value="${hibernate.dialect}" /><br>
����������������������������������� </filterset><br>������������������������������� </copy> --><br>��� ��� ��� ��� ��� ��� ��� </tasks><br>��� ��� ��� ��� ��� ��� </configuration><br>��� ��� ��� ��� ��� ��� <goals><br>
��� ��� ��� ��� ��� ��� ��� <goal>run</goal><br>��� ��� ��� ��� ��� ��� </goals><br>��� ��� ��� ��� ��� </execution><br>��� ��� ��� </executions><br>��� ��� � </plugin> <br>������� </plugins><br>
��� </build><br>��� <reporting><br>��� </reporting><br></project><br><br><br>Maven pom, security-war<br><?xml version="1.0"?><br><project<br>� xmlns="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a>"<br>
� xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br>� xsi:schemaLocation="<a href="http://maven.apache.org/POM/4.0.0">http://maven.apache.org/POM/4.0.0</a> <a href="http://maven.apache.org/maven-v4_0_0.xsd">http://maven.apache.org/maven-v4_0_0.xsd</a>"><br>
� <parent><br>��� <groupId>security</groupId><br>��� <artifactId>app</artifactId><br>��� <version>2.0</version><br>� </parent><br>� <modelVersion>4.0.0</modelVersion><br>
� <groupId>security</groupId><br>� <artifactId>security-war</artifactId><br>� <packaging>war</packaging><br>� <version>2.0</version><br>� <name>Security Management WAR Project</name><br>
� <description>This is the WAR project used for displaying information<br>��� pertaining to the Security Management application.<br>� </description><br>� <dependencies><br>��� <dependency><br>����� <groupId>security</groupId><br>
����� <artifactId>security-ejb</artifactId><br>����� <version>2.0</version><br>��� </dependency><br><br>�� <dependency><br>����� <groupId>security</groupId><br>����� <artifactId>faces-common</artifactId><br>
����� <version>2.0</version><br>��� </dependency><br><br><dependency><br>� <groupId><a href="http://org.jboss.ws">org.jboss.ws</a></groupId><br>� <artifactId>jbossws-spi</artifactId><br>
� <version>2.0.0.Beta5</version><br>� <scope>provided</scope> <br></dependency><br><br><dependency><br>���� <groupId>commons-logging</groupId><br>���� <artifactId>commons-logging</artifactId><br>
���� <version>1.1.1</version><br>���� <!-- <scope>provided</scope> --><br>�� </dependency><br><br>������� <dependency><br>��������������� <groupId>commons-lang</groupId><br>
��������������� <artifactId>commons-lang</artifactId><br>��������������� <version>2.4</version><br>���� ��� ��� <scope>provided</scope> <br>������� </dependency><br><br><dependency><br>
�<groupId>javax.faces</groupId><br>�<artifactId>jsf-api</artifactId><br>�<version>1.2_13</version><br>�<scope>provided</scope> <br></dependency><br><br><dependency><br>
�<groupId>javax.faces</groupId><br>�<artifactId>jsf-impl</artifactId><br>�<version>1.2_13</version><br>�<scope>provided</scope> <br></dependency><br><br><dependency><br>
�<groupId>org.jboss.spec.javax.servlet</groupId><br>�<artifactId>jboss-servlet-api_3.0_spec</artifactId><br>�<version>1.0.0.Final</version><br>�<scope>provided</scope> <br>
</dependency><br>
<br><!-- Old Jsf --><br><br>������� ��� <dependency><br>����������� ��� ��� <groupId>com.sun.facelets</groupId><br>����������� ��� ��� <artifactId>jsf-facelets</artifactId><br>��� ��� ��� <version>1.1.15.B1</version><br>
������� ��� </dependency><br>��� ��� <dependency><br>��� ��� ��� <groupId>org.richfaces.framework</groupId><br>��� ��� ��� <artifactId>richfaces-impl</artifactId><br>��� ��� ��� <version>3.3.3.Final</version><br>
��� ��� </dependency><br>�� ��� ��� <dependency><br>����� ��� ��� ��� <groupId>org.apache.myfaces.core</groupId><br>����� ��� ��� ��� <artifactId>myfaces-api</artifactId><br>����� ��� ��� ��� <version>1.2.2</version><br>
��� ��� ��� ��� </dependency><br>��� ��� ��� <dependency><br>����� ��� ��� ��� <groupId>org.apache.myfaces.core</groupId><br>����� ��� ��� ��� <artifactId>myfaces-impl</artifactId><br>
����� ��� ��� ��� <version>1.2.2</version><br>
��� ��� ��� </dependency><br>�� ��� ��� <dependency><br>����� ��� ��� ��� <groupId>org.apache.myfaces.tomahawk</groupId><br>����� ��� ��� ��� <artifactId>tomahawk</artifactId><br>����� ��� ��� ��� <version>1.1.6</version><br>
��� ��� ��� </dependency><br><br>� </dependencies><br>��� <build><br>��� � <plugins><br>��� ��� <plugin><br>��������� ��� ��� <groupId>org.apache.maven.plugins</groupId><br>��� ��� ��� <artifactId>maven-antrun-plugin</artifactId><br>
��� ��� ��� <version>1.6</version><br>��� ��� ��� <executions><br>��� ��� ��� � <execution><br>��� ��� ��� ��� <id>copy</id><br>��� ��� ��� ��� <phase>process-sources</phase><br>
��� ��� ��� ��� <goals><br>����������������� <goal>run</goal><br>��������������� </goals><br>��������������� <configuration><br>����������������� <target><br>������������������� <copy file="src/main/xmltemplates/WEB-INF/web.xml.${<a href="http://login.policy.name">login.policy.name</a>}"<br>
������������������������� toFile="src/main/webapp/WEB-INF/web.xml"<br>����������������������������� overwrite="true"><br>����������������������������� </copy><br>�� ��� ��� ��� ��� ��� ��� ��� � <copy<br>
������������������������������� file="src/main/xmltemplates/WEB-INF/jboss-web.xml.${<a href="http://login.policy.name">login.policy.name</a>}"<br>������������������������������� toFile="src/main/webapp/WEB-INF/jboss-web.xml"<br>
������������������������������� overwrite="true"><br>����������������������������� </copy><br>�� ��� ��� ��� ��� ��� ��� ��� � <copy<br>������������������������������� file="src/main/xmltemplates/WEB-INF/faces-beans.xml"<br>
������������������������������� toFile="src/main/webapp/WEB-INF/faces-beans.xml"<br>������������������������������� overwrite="true"><br>������������������������������� <filterset><br>��������������������������������� <filter<br>
����������������������������������� token="PASS_VISIBLE_VALUE"<br>����������������������������������� value="${faces.passvisible.value}" /><br>��������������������������������� <filter<br>����������������������������������� token="HOST"<br>
����������������������������������� value="${<a href="http://host.name">host.name</a>}" /><br>��������������������������������� <filter<br>����������������������������������� token="PROJECT"<br>
����������������������������������� value="${<a href="http://overall.name">overall.name</a>}" /><br>
������������������������������� </filterset><br>����������������������������� </copy><br>�� ��� ��� ��� ��� ��� ��� ��� � <copy<br>������������������������������� file="src/main/resources/${<a href="http://overall.name">overall.name</a>}.properties"<br>
������������������������������� toFile="src/main/resources/logosAndStrings.properties"<br>������������������������������� overwrite="true"><br>����������������������������� </copy><br>����������������������������� <copy<br>
������������������������������� file="src/main/webapp/images/${<a href="http://overall.name">overall.name</a>}.png"<br>������������������������������� toFile="src/main/webapp/images/logo.png"<br>������������������������������� overwrite="true"><br>
����������������������������� </copy><br>��� ��� ��� ��� ��� ��� ��� </target><br>��� ��� ��� ��� ��� ��� </configuration><br>��� ��� ��� ��� ��� </execution><br>��� ��� ��� ��� </executions><br>
��� ��� ��� </plugin><br>��� ��� </plugins><br>��� </build><br>��� <reporting><br>��� </reporting><br></project><br><br><br><br>Thanks, <br>-Brian<br><br><br><br>