1 2 Previous Next 23 Replies Latest reply on Apr 20, 2010 11:19 PM by asookazian

    JRebel 3 and Seam 3

    asookazian

      I know Stuart is working on a hot deploy tool/frmwk but I have tested JRebel 3.0-M2 and it was very promising.  There is a Seam plugin as well (the plugin API is open-source).


      I'm most excited about the EJB 3 interface change hot redeployability (yes, it does work, at least in the cases I tested).  Also, the @In and @EJB injections hot deployed as well.


      What are the plans for upgrading hot incremental deployment to make it EJB3-inclusive in Seam3?

        • 1. Re: JRebel 3 and Seam 3
          nickarls

          We know you're exited about JRebel, you post about it in every forum that's opened ;-)

          • 2. Re: JRebel 3 and Seam 3
            asookazian

            You'd think I work for them or get paid by them, etc.  After all these years (since circa 2005) of EJB 2/3 work and no interface mod hot deploys, I just genuinely like that frmwk/tool...

            • 3. Re: JRebel 3 and Seam 3
              yahawari

              i have been following ur posts about jrebel. ur efforts in that direction will be of great value to other members. i am more than willing to pay JRebel guys if their plug-in works in their next stable release.

              • 4. Re: JRebel 3 and Seam 3
                dan.j.allen

                Arbi Sookazian wrote on Mar 26, 2010 16:22:


                You'd think I work for them or get paid by them, etc.  After all these years (since circa 2005) of EJB 2/3 work and no interface mod hot deploys, I just genuinely like that frmwk/tool...


                Arbi, if you run across some spare time, it would be great if you could put together a short blog entry that provides a tutorial for using JRebel with CDI/Seam 3. I think that would really help drum up interest in this effort.


                Even if we end up pursuing Stuart's prototype, we could always recommend the use of JRebel as an alternative. Seam is just as much about the documentation as it is the libraries.

                • 5. Re: JRebel 3 and Seam 3
                  swd847

                  If we do put hot replacement into weld it should work for either JRebel or my prototype. Fakereplace will just have some kind of integration point that says 'these classes have changed, reload the bean definitions', and I imagine JRebel has something similar, so we should be able to support both without much extra effort.

                  • 6. Re: JRebel 3 and Seam 3
                    swd847

                    Incidentally I just hot fakereplace up to the point where it is potentially useful, it can now add and remove methods and fields, and clears the EL cache so the changes are visible in the UI. There is still a bit more work to do but hopefully I will be able to do an initial pre-alpha release targeted at seam 2.x in the next week or so.

                    • 7. Re: JRebel 3 and Seam 3
                      asookazian

                      Yeah, so I've been pushing productivity enhancements big time at my company.  Mylyn, JBoss Tools, m2eclipse, JRebel, (name some others?).  I really think that one of the major disadvantages with Java EE development is productivity when compared to other popular frmwks/platforms like .NET and RoR.  Being open-source is not good enough, productivity, flexibility and power are paramount.


                      Check this out: badass: http://www.zeroturnaround.com/news/jrebel-3-0-m3-released/



                      Better Proxy Support. JRebel now integrates tightly with Javassist and CgLib, providing much better compatibility with changes to class signature in some advanced cases, e.g. JBoss Seam.

                      I will try out 3.0-M3 with Seam 2.x and possibly Weld and let you guys know what I find out.  I had a couple of issues in M2 that got fixed in M3...

                      • 8. Re: JRebel 3 and Seam 3
                        swd847

                        http://www.seamframework.org/Community/ExperimentalHotDeploymentForSeam2x


                        I just did the first fakereplace release. Still very early stages and probably full of bugs, but I like the 'release early release often' school of thought.

                        • 9. Re: JRebel 3 and Seam 3
                          asookazian

                          Dan Allen wrote on Mar 27, 2010 19:34:



                          Arbi Sookazian wrote on Mar 26, 2010 16:22:


                          You'd think I work for them or get paid by them, etc.  After all these years (since circa 2005) of EJB 2/3 work and no interface mod hot deploys, I just genuinely like that frmwk/tool...


                          Arbi, if you run across some spare time, it would be great if you could put together a short blog entry that provides a tutorial for using JRebel with CDI/Seam 3. I think that would really help drum up interest in this effort.

                          Even if we end up pursuing Stuart's prototype, we could always recommend the use of JRebel as an alternative. Seam is just as much about the documentation as it is the libraries.


                          Well now that I have resurfaced from Hell (thanks to SDouglas again and others in linuxquestions.org forum!) and I can use my Ubuntu/Win7 OS at home, here are some results using JRebel 3.0-M3 with Seam 2.2.1.CR1 booking app running on JBoss 5.1.0.GA with Sun JDK 6.


                          Note that I still can't build the Weld example projects (I think Ant 1.7.0 is required for some reason? or am I getting confused as I thought the builds were all down by Maven for Seam3 and Weld?)


                          Anyways, in this scenario (test case) I added the rebel.xml config file via the JRebel eclipse plugin:


                          <?xml version="1.0" encoding="UTF-8"?>
                          <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">
                          
                               <classpath>
                                    <dir name="/Applications/jboss-seam-2.2.1.CR1/examples/booking/exploded-archives/jboss-seam-booking.jar">
                                    </dir>
                               </classpath>
                          
                          </application>



                          I modified the build.xml in the examples directory to include the rebel.xml in the EJB JAR root:


                          <!-- resources to go in the jar  -->
                                  <fileset id="jar.resources" dir="${resources.dir}">
                                          <include name="import.sql" />
                                          <include name="seam.properties" />
                                          <include name="rebel.xml"/>
                                          <include name="seam.quartz.properties" />
                                          <include name="*.drl" />
                                          <include name="META-INF/persistence.xml" />
                                          <include name="META-INF/ejb-jar.xml" />
                                          <include name="META-INF/orm.xml" />
                                          <include name="META-INF/components.xml" />
                                          <include name="META-INF/jboss.xml" />
                                          <include name="META-INF/security-config.xml" />
                                          <include name="META-INF/security-rules.drl" />
                                          <include name="META-INF/standard-jaxws-endpoint-config.xml" />
                                          <include name="*.jpdl.xml" />
                                          <exclude name=".gpd*" />
                                  </fileset>
                          



                          I added a test() method to the HotelSearching local interface and the HotelSearchingAction SFSB:


                          public void test() {
                                  System.out.println("in test!");
                             }



                          changes to main.xhtml (see the new commandButton at bottom of xhtml snippet below):


                          <h:form id="searchCriteria">
                               <fieldset> 
                                  <h:inputText id="searchString" value="#{hotelSearch.searchString}" style="width: 165px;">
                                   <a:support id="onkeyup" event="onkeyup" actionListener="#{hotelSearch.find}" reRender="searchResults" />
                                 </h:inputText>
                                 &#160;
                                  <a:commandButton id="findHotels" value="Find Hotels" action="#{hotelSearch.find}" reRender="searchResults"/>
                                 &#160;
                                 <a:status id="status">
                                    <f:facet id="StartStatus" name="start">
                                       <h:graphicImage id="SpinnerGif" value="/img/spinner.gif"/>
                                    </f:facet>
                                 </a:status>
                                  <br/>
                                 <h:outputLabel id="MaximumResultsLabel" for="pageSize">Maximum results:</h:outputLabel>&#160;
                                 <h:selectOneMenu id="pageSize" value="#{hotelSearch.pageSize}">
                                    <f:selectItem id="PageSize5" itemLabel="5" itemValue="5"/>
                                    <f:selectItem id="PageSize10" itemLabel="10" itemValue="10"/>
                                    <f:selectItem id="PageSize20" itemLabel="20" itemValue="20"/>
                                 </h:selectOneMenu>
                              </fieldset>
                              <a:commandButton value="test" action="#{hotelSearch.test}"/>
                              </h:form>



                          Note that I did a ant unexplode clean explode first with the new version of main.xhtml and with the HotelSearching SFSB code commented out.  After I login I see the new test button.  Now I uncomment the test() method in the impl class and interface (now remember that JRebel is monitoring the EJB JAR classes for changes and the hot reloads happens the next time the new version of the types are accessed - i.e. when I click the new test button in main.xhtml).


                          • 10. Re: JRebel 3 and Seam 3
                            asookazian

                            Here is the result (note the in test! output in the console log below):


                            #############################################################
                            
                             JRebel 3.0-M3 (201003171846)
                             (c) Copyright ZeroTurnaround OU, Estonia, Tartu.
                            
                             Over the last 1 days JRebel 
                             prevented the need for at least 4 redeploys/restarts
                             saving you about 0.2 hours.
                            
                             You are running JRebel evaluation license.
                             You have 29 days until the license expires. 
                            
                             You will see this notification until you obtain a 
                             full license for your installation. 
                                                                                      
                             Visit www.jrebel.com for instructions on obtaining    
                             a full license. If you wish to continue your evaluation  
                             please e-mail to support@zeroturnaround.com.             
                                                                                      
                             If you think you should not see this message contact     
                             support@zeroturnaround.com or check that you have your   
                             license file in the same directory as the JAR file.      
                                                                                      
                            #############################################################
                            
                            
                            =============================== [JRebel JBoss Plugin] ===============================
                            You can disable this plugin using Agent Settings or by setting -Drebel.jboss_plugin=false.
                            ------------------------------------------------------------------------------------------
                            Description: Supports adding new methods to ejb interfaces and injecting new
                            @EJB fields.
                            =============================== [/JRebel JBoss Plugin] ==============================
                            
                            22:11:23,731 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
                            22:11:23,732 INFO  [ServerImpl] Release ID: JBoss [The Oracle] 5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)
                            22:11:23,732 INFO  [ServerImpl] Bootstrap URL: null
                            22:11:23,732 INFO  [ServerImpl] Home Dir: /Applications/jboss-5.1.0.GA
                            22:11:23,732 INFO  [ServerImpl] Home URL: file:/Applications/jboss-5.1.0.GA/
                            22:11:23,732 INFO  [ServerImpl] Library URL: file:/Applications/jboss-5.1.0.GA/lib/
                            22:11:23,740 INFO  [ServerImpl] Patch URL: null
                            22:11:23,740 INFO  [ServerImpl] Common Base URL: file:/Applications/jboss-5.1.0.GA/common/
                            22:11:23,740 INFO  [ServerImpl] Common Library URL: file:/Applications/jboss-5.1.0.GA/common/lib/
                            22:11:23,740 INFO  [ServerImpl] Server Name: default
                            22:11:23,740 INFO  [ServerImpl] Server Base Dir: /Applications/jboss-5.1.0.GA/server
                            22:11:23,741 INFO  [ServerImpl] Server Base URL: file:/Applications/jboss-5.1.0.GA/server/
                            22:11:23,741 INFO  [ServerImpl] Server Config URL: file:/Applications/jboss-5.1.0.GA/server/default/conf/
                            22:11:23,741 INFO  [ServerImpl] Server Home Dir: /Applications/jboss-5.1.0.GA/server/default
                            22:11:23,741 INFO  [ServerImpl] Server Home URL: file:/Applications/jboss-5.1.0.GA/server/default/
                            22:11:23,741 INFO  [ServerImpl] Server Data Dir: /Applications/jboss-5.1.0.GA/server/default/data
                            22:11:23,741 INFO  [ServerImpl] Server Library URL: file:/Applications/jboss-5.1.0.GA/server/default/lib/
                            22:11:23,741 INFO  [ServerImpl] Server Log Dir: /Applications/jboss-5.1.0.GA/server/default/log
                            22:11:23,741 INFO  [ServerImpl] Server Native Dir: /Applications/jboss-5.1.0.GA/server/default/tmp/native
                            22:11:23,741 INFO  [ServerImpl] Server Temp Dir: /Applications/jboss-5.1.0.GA/server/default/tmp
                            22:11:23,742 INFO  [ServerImpl] Server Temp Deploy Dir: /Applications/jboss-5.1.0.GA/server/default/tmp/deploy
                            22:11:25,141 INFO  [ServerImpl] Starting Microcontainer, bootstrapURL=file:/Applications/jboss-5.1.0.GA/server/default/conf/bootstrap.xml
                            22:11:26,132 INFO  [VFSCacheFactory] Initializing VFSCache [org.jboss.virtual.plugins.cache.CombinedVFSCache]
                            22:11:26,136 INFO  [VFSCacheFactory] Using VFSCache [CombinedVFSCache[real-cache: null]]
                            22:11:26,770 INFO  [CopyMechanism] VFS temp dir: /Applications/jboss-5.1.0.GA/server/default/tmp
                            22:11:26,772 INFO  [ZipEntryContext] VFS force nested jars copy-mode is enabled.
                            22:11:29,164 INFO  [ServerInfo] Java version: 1.6.0_15,Sun Microsystems Inc.
                            22:11:29,164 INFO  [ServerInfo] Java Runtime: Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
                            22:11:29,164 INFO  [ServerInfo] Java VM: Java HotSpot(TM) Server VM 14.1-b02,Sun Microsystems Inc.
                            22:11:29,164 INFO  [ServerInfo] OS-System: Linux 2.6.31-20-generic,i386
                            22:11:29,177 INFO  [ServerInfo] VM arguments: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:51620 -Xverify:none -javaagent:/Applications/jrebel/jrebel.jar -Drebel.jboss_plugin=true -Drebel.allow_bytecode_proxy=true -Dprogram.name=JBossTools: JBoss 5.1 Runtime -Xms256m -Xmx768m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.endorsed.dirs=/Applications/jboss-5.1.0.GA/lib/endorsed -Dfile.encoding=UTF-8 
                            22:11:29,302 INFO  [JMXKernel] Legacy JMX core initialized
                            22:11:34,152 INFO  [ProfileServiceBootstrap] Loading profile: ProfileKey@158d74b[domain=default, server=default, name=default]
                            
                            =============================== [JRebel Hibernate Plugin] ===============================
                            You can disable this plugin using Agent Settings or by setting -Drebel.hibernate_plugin=false.
                            ------------------------------------------------------------------------------------------
                            Description: Reloads SessionFactory when configuration changes
                            =============================== [/JRebel Hibernate Plugin] ==============================
                            
                            22:11:39,113 INFO  [WebService] Using RMI server codebase: http://localhost:8083/
                            22:11:49,630 INFO  [NativeServerConfig] JBoss Web Services - Stack Native Core
                            22:11:49,630 INFO  [NativeServerConfig] 3.1.2.GA
                            22:11:51,558 INFO  [AttributeCallbackItem] Owner callback not implemented.
                            22:11:53,633 INFO  [LogNotificationListener] Adding notification listener for logging mbean "jboss.system:service=Logging,type=Log4jService" to server org.jboss.mx.server.MBeanServerImpl@11ba6f[ defaultDomain='jboss' ]
                            22:12:08,361 INFO  [STDOUT] =============================== [JRebel Seam Plugin] ===============================
                            22:12:08,361 INFO  [STDOUT] You can disable this plugin using Agent Settings or by setting -Drebel.seam_plugin=false.
                            22:12:08,361 INFO  [STDOUT] ------------------------------------------------------------------------------------------
                            22:12:08,362 INFO  [STDOUT] Description: Turns on seam debug mode and reconfigures modified seam components.
                            22:12:08,362 INFO  [STDOUT] =============================== [/JRebel Seam Plugin] ==============================
                            22:12:08,370 INFO  [STDOUT] =============================== [JRebel Facelets Plugin] ===============================
                            22:12:08,370 INFO  [STDOUT] You can disable this plugin using Agent Settings or by setting -Drebel.facelets_plugin=false.
                            22:12:08,370 INFO  [STDOUT] ------------------------------------------------------------------------------------------
                            22:12:08,370 INFO  [STDOUT] Description: Turns on facelet development mode, facelet reloading and reloads
                            22:12:08,370 INFO  [STDOUT] facelet tag libraries.
                            22:12:08,370 INFO  [STDOUT] =============================== [/JRebel Facelets Plugin] ==============================
                            22:12:12,879 INFO  [STDOUT] JRebel: Directory '/Applications/jboss-seam-2.2.1.CR1/examples/booking/exploded-archives/jboss-seam-booking.jar' will be monitored for changes.
                            22:12:16,608 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@13171230{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/profileservice-secured.jar/}
                            22:12:16,609 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@13171230{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/profileservice-secured.jar/}
                            22:12:16,610 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@13171230{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/profileservice-secured.jar/}
                            22:12:16,610 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@13171230{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/profileservice-secured.jar/}
                            22:12:16,615 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@3200893{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-seam-booking.ear/jboss-seam-booking.jar/}
                            22:12:16,615 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@3200893{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-seam-booking.ear/jboss-seam-booking.jar/}
                            22:12:16,615 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@3200893{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-seam-booking.ear/jboss-seam-booking.jar/}
                            22:12:16,615 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@3200893{vfsfile:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-seam-booking.ear/jboss-seam-booking.jar/}
                            22:12:16,615 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@9667835{vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-seam-booking.ear/jboss-seam.jar/}
                            22:12:16,615 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@9667835{vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-seam-booking.ear/jboss-seam.jar/}
                            22:12:17,151 INFO  [STDOUT] =============================== [JRebel Mojarra (JSF-RI) Plugin] ===============================
                            22:12:17,151 INFO  [STDOUT] You can disable this plugin using Agent Settings or by setting -Drebel.mojarra_plugin=false.
                            22:12:17,151 INFO  [STDOUT] ------------------------------------------------------------------------------------------
                            22:12:17,151 INFO  [STDOUT] Description: Turns on Mojarra development mode. Reloads JSF configuration and
                            22:12:17,151 INFO  [STDOUT] reconfigures managed beans.
                            22:12:17,151 INFO  [STDOUT] =============================== [/JRebel Mojarra (JSF-RI) Plugin] ==============================
                            22:12:20,171 INFO  [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://localhost/jndi/rmi://localhost:1090/jmxconnector
                            22:12:20,623 INFO  [MailService] Mail Service bound to java:/Mail
                            22:12:26,938 WARN  [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this.
                            22:12:27,010 WARN  [AnnotationCreator] No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
                            22:12:27,153 WARN  [AnnotationCreator] No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
                            22:12:27,212 INFO  [TransactionManagerService] JBossTS Transaction Service (JTA version - tag:JBOSSTS_4_6_1_GA) - JBoss Inc.
                            22:12:27,213 INFO  [TransactionManagerService] Setting up property manager MBean and JMX layer
                            22:12:27,624 INFO  [TransactionManagerService] Initializing recovery manager
                            22:12:27,790 INFO  [TransactionManagerService] Recovery manager configured
                            22:12:27,790 INFO  [TransactionManagerService] Binding TransactionManager JNDI Reference
                            22:12:27,874 INFO  [TransactionManagerService] Starting transaction recovery manager
                            22:12:28,560 INFO  [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/../lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/lib:/usr/lib
                            22:12:28,673 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080
                            22:12:28,674 INFO  [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-localhost%2F127.0.0.1-8009
                            22:12:28,713 INFO  [StandardService] Starting service jboss.web
                            22:12:28,716 INFO  [StandardEngine] Starting Servlet Engine: JBoss Web/2.1.3.GA
                            22:12:28,811 INFO  [Catalina] Server startup in 136 ms
                            22:12:28,855 INFO  [TomcatDeployment] deploy, ctxPath=/web-console
                            22:12:30,173 INFO  [TomcatDeployment] deploy, ctxPath=/jbossws
                            22:12:30,289 INFO  [TomcatDeployment] deploy, ctxPath=/invoker
                            22:12:30,541 INFO  [RARDeployment] Required license terms exist, view vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
                            22:12:30,565 INFO  [RARDeployment] Required license terms exist, view vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
                            22:12:30,593 INFO  [RARDeployment] Required license terms exist, view vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/jms-ra.rar/META-INF/ra.xml
                            22:12:30,617 INFO  [RARDeployment] Required license terms exist, view vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/mail-ra.rar/META-INF/ra.xml
                            22:12:30,641 INFO  [RARDeployment] Required license terms exist, view vfszip:/Applications/jboss-5.1.0.GA/server/default/deploy/quartz-ra.rar/META-INF/ra.xml
                            22:12:30,756 INFO  [SimpleThreadPool] Job execution threads will use class loader of thread: main
                            22:12:30,789 INFO  [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
                            22:12:30,795 INFO  [RAMJobStore] RAMJobStore initialized.
                            22:12:30,795 INFO  [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
                            22:12:30,795 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
                            22:12:30,796 INFO  [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
                            22:12:31,451 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
                            22:12:32,332 INFO  [ServerPeer] JBoss Messaging 1.4.3.GA server [0] started
                            22:12:32,612 INFO  [ConnectionFactory] Connector bisocket://localhost:4457 has leasing enabled, lease period 10000 milliseconds
                            22:12:32,612 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@d9e285 started
                            22:12:32,653 INFO  [QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
                            22:12:32,654 INFO  [ConnectionFactoryJNDIMapper] supportsFailover attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support failover
                            22:12:32,654 INFO  [ConnectionFactoryJNDIMapper] supportsLoadBalancing attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support load balancing
                            22:12:32,676 INFO  [ConnectionFactory] Connector bisocket://localhost:4457 has leasing enabled, lease period 10000 milliseconds
                            22:12:32,676 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@af4ca started
                            22:12:32,678 INFO  [QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
                            22:12:32,681 INFO  [ConnectionFactory] Connector bisocket://localhost:4457 has leasing enabled, lease period 10000 milliseconds
                            22:12:32,681 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@f8b2e started
                            22:12:32,812 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=bookingDatasource' to JNDI name 'java:bookingDatasource'
                            22:12:32,945 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
                            22:12:33,620 INFO  [JBossASKernel] Created KernelDeployment for: profileservice-secured.jar
                            22:12:33,629 INFO  [JBossASKernel] installing bean: jboss.j2ee:jar=profileservice-secured.jar,name=SecureProfileService,service=EJB3
                            22:12:33,629 INFO  [JBossASKernel]   with dependencies:
                            22:12:33,629 INFO  [JBossASKernel]   and demands:
                            22:12:33,629 INFO  [JBossASKernel]      jndi:SecureManagementView/remote-org.jboss.deployers.spi.management.ManagementView
                            22:12:33,629 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:33,629 INFO  [JBossASKernel]   and supplies:
                            22:12:33,629 INFO  [JBossASKernel]      Class:org.jboss.profileservice.spi.ProfileService
                            22:12:33,629 INFO  [JBossASKernel]      jndi:SecureProfileService/remote
                            22:12:33,630 INFO  [JBossASKernel]      jndi:SecureProfileService/remote-org.jboss.profileservice.spi.ProfileService
                            22:12:33,630 INFO  [JBossASKernel] Added bean(jboss.j2ee:jar=profileservice-secured.jar,name=SecureProfileService,service=EJB3) to KernelDeployment of: profileservice-secured.jar
                            22:12:33,631 INFO  [JBossASKernel] installing bean: jboss.j2ee:jar=profileservice-secured.jar,name=SecureDeploymentManager,service=EJB3
                            22:12:33,631 INFO  [JBossASKernel]   with dependencies:
                            22:12:33,632 INFO  [JBossASKernel]   and demands:
                            22:12:33,632 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:33,632 INFO  [JBossASKernel]   and supplies:
                            22:12:33,632 INFO  [JBossASKernel]      jndi:SecureDeploymentManager/remote-org.jboss.deployers.spi.management.deploy.DeploymentManager
                            22:12:33,632 INFO  [JBossASKernel]      Class:org.jboss.deployers.spi.management.deploy.DeploymentManager
                            22:12:33,632 INFO  [JBossASKernel]      jndi:SecureDeploymentManager/remote
                            22:12:33,632 INFO  [JBossASKernel] Added bean(jboss.j2ee:jar=profileservice-secured.jar,name=SecureDeploymentManager,service=EJB3) to KernelDeployment of: profileservice-secured.jar
                            22:12:33,633 INFO  [JBossASKernel] installing bean: jboss.j2ee:jar=profileservice-secured.jar,name=SecureManagementView,service=EJB3
                            22:12:33,633 INFO  [JBossASKernel]   with dependencies:
                            22:12:33,633 INFO  [JBossASKernel]   and demands:
                            22:12:33,633 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:33,633 INFO  [JBossASKernel]   and supplies:
                            22:12:33,633 INFO  [JBossASKernel]      jndi:SecureManagementView/remote-org.jboss.deployers.spi.management.ManagementView
                            22:12:33,633 INFO  [JBossASKernel]      Class:org.jboss.deployers.spi.management.ManagementView
                            22:12:33,633 INFO  [JBossASKernel]      jndi:SecureManagementView/remote
                            22:12:33,634 INFO  [JBossASKernel] Added bean(jboss.j2ee:jar=profileservice-secured.jar,name=SecureManagementView,service=EJB3) to KernelDeployment of: profileservice-secured.jar
                            22:12:33,646 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@1f0279{name=jboss.j2ee:jar=profileservice-secured.jar,name=SecureProfileService,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                            22:12:33,646 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@711d75{name=jboss.j2ee:jar=profileservice-secured.jar,name=SecureDeploymentManager,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                            22:12:33,646 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@12b4d3{name=jboss.j2ee:jar=profileservice-secured.jar,name=SecureManagementView,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                            22:12:34,315 INFO  [SessionSpecContainer] Starting jboss.j2ee:jar=profileservice-secured.jar,name=SecureDeploymentManager,service=EJB3
                            22:12:34,373 INFO  [EJBContainer] STARTED EJB: org.jboss.profileservice.ejb.SecureDeploymentManager ejbName: SecureDeploymentManager
                            22:12:34,611 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                            
                                 SecureDeploymentManager/remote - EJB3.x Default Remote Business Interface
                                 SecureDeploymentManager/remote-org.jboss.deployers.spi.management.deploy.DeploymentManager - EJB3.x Remote Business Interface
                            
                            22:12:35,089 INFO  [SessionSpecContainer] Starting jboss.j2ee:jar=profileservice-secured.jar,name=SecureManagementView,service=EJB3
                            22:12:35,090 INFO  [EJBContainer] STARTED EJB: org.jboss.profileservice.ejb.SecureManagementView ejbName: SecureManagementView
                            22:12:35,189 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                            
                                 SecureManagementView/remote - EJB3.x Default Remote Business Interface
                                 SecureManagementView/remote-org.jboss.deployers.spi.management.ManagementView - EJB3.x Remote Business Interface
                            
                            22:12:35,652 INFO  [SessionSpecContainer] Starting jboss.j2ee:jar=profileservice-secured.jar,name=SecureProfileService,service=EJB3
                            22:12:35,654 INFO  [EJBContainer] STARTED EJB: org.jboss.profileservice.ejb.SecureProfileServiceBean ejbName: SecureProfileService
                            22:12:35,704 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                            
                                 SecureProfileService/remote - EJB3.x Default Remote Business Interface
                                 SecureProfileService/remote-org.jboss.profileservice.spi.ProfileService - EJB3.x Remote Business Interface
                            
                            22:12:36,345 INFO  [TomcatDeployment] deploy, ctxPath=/admin-console
                            22:12:36,482 INFO  [config] Initializing Mojarra (1.2_12-b01-FCS) for context '/admin-console'
                            22:12:40,548 INFO  [TomcatDeployment] deploy, ctxPath=/
                            22:12:40,789 INFO  [TomcatDeployment] deploy, ctxPath=/jmx-console
                            22:12:42,200 INFO  [JBossASKernel] Created KernelDeployment for: jboss-seam-booking.jar
                            22:12:42,200 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelSearchingAction,service=EJB3
                            22:12:42,200 INFO  [JBossASKernel]   with dependencies:
                            22:12:42,200 INFO  [JBossASKernel]   and demands:
                            22:12:42,200 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:42,200 INFO  [JBossASKernel]      persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                            22:12:42,200 INFO  [JBossASKernel]   and supplies:
                            22:12:42,200 INFO  [JBossASKernel]      jndi:jboss-seam-booking/HotelSearchingAction/local-org.jboss.seam.example.booking.HotelSearching
                            22:12:42,200 INFO  [JBossASKernel]      Class:org.jboss.seam.example.booking.HotelSearching
                            22:12:42,200 INFO  [JBossASKernel]      jndi:jboss-seam-booking/HotelSearchingAction/local
                            22:12:42,200 INFO  [JBossASKernel]      jndi:jboss-seam-booking/HotelSearchingAction/remote
                            22:12:42,200 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelSearchingAction,service=EJB3) to KernelDeployment of: jboss-seam-booking.jar
                            22:12:42,202 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=BookingListAction,service=EJB3
                            22:12:42,202 INFO  [JBossASKernel]   with dependencies:
                            22:12:42,202 INFO  [JBossASKernel]   and demands:
                            22:12:42,202 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:42,202 INFO  [JBossASKernel]      persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                            22:12:42,202 INFO  [JBossASKernel]   and supplies:
                            22:12:42,202 INFO  [JBossASKernel]      jndi:jboss-seam-booking/BookingListAction/remote
                            22:12:42,202 INFO  [JBossASKernel]      jndi:jboss-seam-booking/BookingListAction/local
                            22:12:42,203 INFO  [JBossASKernel]      Class:org.jboss.seam.example.booking.BookingList
                            22:12:42,203 INFO  [JBossASKernel]      jndi:jboss-seam-booking/BookingListAction/local-org.jboss.seam.example.booking.BookingList
                            22:12:42,203 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=BookingListAction,service=EJB3) to KernelDeployment of: jboss-seam-booking.jar
                            22:12:42,204 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=RegisterAction,service=EJB3
                            22:12:42,204 INFO  [JBossASKernel]   with dependencies:
                            22:12:42,204 INFO  [JBossASKernel]   and demands:
                            22:12:42,204 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:42,204 INFO  [JBossASKernel]      persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                            22:12:42,204 INFO  [JBossASKernel]   and supplies:
                            22:12:42,204 INFO  [JBossASKernel]      jndi:jboss-seam-booking/RegisterAction/remote
                            22:12:42,204 INFO  [JBossASKernel]      jndi:jboss-seam-booking/RegisterAction/local
                            22:12:42,205 INFO  [JBossASKernel]      jndi:jboss-seam-booking/RegisterAction/local-org.jboss.seam.example.booking.Register
                            22:12:42,205 INFO  [JBossASKernel]      Class:org.jboss.seam.example.booking.Register
                            22:12:42,205 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=RegisterAction,service=EJB3) to KernelDeployment of: jboss-seam-booking.jar
                            22:12:42,224 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelBookingAction,service=EJB3
                            22:12:42,224 INFO  [JBossASKernel]   with dependencies:
                            22:12:42,224 INFO  [JBossASKernel]   and demands:
                            22:12:42,224 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                            22:12:42,224 INFO  [JBossASKernel]      persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                            22:12:42,224 INFO  [JBossASKernel]   and supplies:
                            22:12:42,224 INFO  [JBossASKernel]      jndi:jboss-seam-booking/HotelBookingAction/local
                            22:12:42,224 INFO  [JBossASKernel]      Class:org.jboss.seam.example.booking.HotelBooking
                            22:12:42,224 INFO  [JBossASKernel]      jndi:jboss-seam-booking/HotelBookingAction/local-org.jboss.seam.example.booking.HotelBooking
                            22:12:42,224 INFO  [JBossASKernel]      jndi:jboss-seam-booking/HotelBookingAction/remote
                            

                            • 11. Re: JRebel 3 and Seam 3
                              asookazian

                              continuing:


                              22:12:42,224 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelBookingAction,service=EJB3) to KernelDeployment of: jboss-seam-booking.jar
                              22:12:42,226 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=ChangePasswordAction,service=EJB3
                              22:12:42,226 INFO  [JBossASKernel]   with dependencies:
                              22:12:42,226 INFO  [JBossASKernel]   and demands:
                              22:12:42,226 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                              22:12:42,226 INFO  [JBossASKernel]      persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                              22:12:42,226 INFO  [JBossASKernel]   and supplies:
                              22:12:42,226 INFO  [JBossASKernel]      jndi:jboss-seam-booking/ChangePasswordAction/local
                              22:12:42,226 INFO  [JBossASKernel]      jndi:jboss-seam-booking/ChangePasswordAction/local-org.jboss.seam.example.booking.ChangePassword
                              22:12:42,226 INFO  [JBossASKernel]      jndi:jboss-seam-booking/ChangePasswordAction/remote
                              22:12:42,226 INFO  [JBossASKernel]      Class:org.jboss.seam.example.booking.ChangePassword
                              22:12:42,227 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=ChangePasswordAction,service=EJB3) to KernelDeployment of: jboss-seam-booking.jar
                              22:12:42,228 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=AuthenticatorAction,service=EJB3
                              22:12:42,228 INFO  [JBossASKernel]   with dependencies:
                              22:12:42,228 INFO  [JBossASKernel]   and demands:
                              22:12:42,228 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                              22:12:42,228 INFO  [JBossASKernel]      persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                              22:12:42,228 INFO  [JBossASKernel]   and supplies:
                              22:12:42,228 INFO  [JBossASKernel]      jndi:jboss-seam-booking/AuthenticatorAction/local
                              22:12:42,228 INFO  [JBossASKernel]      jndi:jboss-seam-booking/AuthenticatorAction/remote
                              22:12:42,228 INFO  [JBossASKernel]      Class:org.jboss.seam.example.booking.Authenticator
                              22:12:42,228 INFO  [JBossASKernel]      jndi:jboss-seam-booking/AuthenticatorAction/local-org.jboss.seam.example.booking.Authenticator
                              22:12:42,229 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=AuthenticatorAction,service=EJB3) to KernelDeployment of: jboss-seam-booking.jar
                              22:12:42,532 WARN  [InjectInterceptorsFactory] WEIRDNESS IN AOP: advisor org.jboss.ejb3.aop.ExtendedManagedObjectAdvisor@31c952
                              22:12:42,604 WARN  [InjectInterceptorsFactory] WEIRDNESS IN AOP: advisor org.jboss.ejb3.aop.ExtendedManagedObjectAdvisor@31c952
                              22:12:42,615 WARN  [InjectInterceptorsFactory] WEIRDNESS IN AOP: advisor org.jboss.ejb3.aop.ExtendedManagedObjectAdvisor@31c952
                              22:12:42,618 WARN  [InjectInterceptorsFactory] WEIRDNESS IN AOP: advisor org.jboss.ejb3.aop.ExtendedManagedObjectAdvisor@31c952
                              22:12:43,130 INFO  [JBossASKernel] Created KernelDeployment for: jboss-seam.jar
                              22:12:43,131 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3
                              22:12:43,131 INFO  [JBossASKernel]   with dependencies:
                              22:12:43,131 INFO  [JBossASKernel]   and demands:
                              22:12:43,131 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                              22:12:43,131 INFO  [JBossASKernel]   and supplies:
                              22:12:43,131 INFO  [JBossASKernel]      jndi:jboss-seam-booking/TimerServiceDispatcher/remote
                              22:12:43,131 INFO  [JBossASKernel]      Class:org.jboss.seam.async.LocalTimerServiceDispatcher
                              22:12:43,131 INFO  [JBossASKernel]      jndi:jboss-seam-booking/TimerServiceDispatcher/local-org.jboss.seam.async.LocalTimerServiceDispatcher
                              22:12:43,131 INFO  [JBossASKernel]      jndi:jboss-seam-booking/TimerServiceDispatcher/local
                              22:12:43,131 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3) to KernelDeployment of: jboss-seam.jar
                              22:12:43,132 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3
                              22:12:43,133 INFO  [JBossASKernel]   with dependencies:
                              22:12:43,133 INFO  [JBossASKernel]   and demands:
                              22:12:43,133 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
                              22:12:43,133 INFO  [JBossASKernel]   and supplies:
                              22:12:43,133 INFO  [JBossASKernel]      jndi:jboss-seam-booking/EjbSynchronizations/local
                              22:12:43,133 INFO  [JBossASKernel]      Class:org.jboss.seam.transaction.LocalEjbSynchronizations
                              22:12:43,133 INFO  [JBossASKernel]      jndi:jboss-seam-booking/EjbSynchronizations/remote
                              22:12:43,133 INFO  [JBossASKernel]      jndi:jboss-seam-booking/EjbSynchronizations/local-org.jboss.seam.transaction.LocalEjbSynchronizations
                              22:12:43,133 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3) to KernelDeployment of: jboss-seam.jar
                              22:12:43,135 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@147ebcb{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=RegisterAction,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,135 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@fdb3e9{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=BookingListAction,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,135 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@1655995{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelBookingAction,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,136 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@56eaaf{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=AuthenticatorAction,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,136 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@1e7b293{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=ChangePasswordAction,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,136 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@144abe{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelSearchingAction,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,136 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@e0142c{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,136 INFO  [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@13479bd{name=jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
                              22:12:43,444 INFO  [PersistenceUnitDeployment] Starting persistence unit persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                              22:12:43,726 INFO  [Version] Hibernate Annotations 3.4.0.GA
                              22:12:43,776 INFO  [Environment] Hibernate 3.3.1.GA
                              22:12:43,802 INFO  [Environment] hibernate.properties not found
                              22:12:43,822 INFO  [Environment] Bytecode provider name : javassist
                              22:12:43,827 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
                              22:12:44,177 INFO  [Version] Hibernate Commons Annotations 3.1.0.GA
                              22:12:44,200 INFO  [Version] Hibernate EntityManager 3.4.0.GA
                              22:12:44,357 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
                                   name: bookingDatabase
                                   ...]
                              22:12:44,471 WARN  [Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
                              22:12:44,533 INFO  [STDOUT] JRebel: Monitoring configuration in 'file:/Applications/jboss-seam-2.2.1.CR1/examples/booking/exploded-archives/jboss-seam-booking.jar/org/jboss/seam/example/booking/User.class'.
                              22:12:44,576 INFO  [STDOUT] JRebel: Monitoring configuration in 'file:/Applications/jboss-seam-2.2.1.CR1/examples/booking/exploded-archives/jboss-seam-booking.jar/org/jboss/seam/example/booking/Booking.class'.
                              22:12:44,602 INFO  [STDOUT] JRebel: Monitoring configuration in 'file:/Applications/jboss-seam-2.2.1.CR1/examples/booking/exploded-archives/jboss-seam-booking.jar/org/jboss/seam/example/booking/Hotel.class'.
                              22:12:44,671 INFO  [AnnotationBinder] Binding entity from annotated class: org.jboss.seam.example.booking.User
                              22:12:44,950 INFO  [EntityBinder] Bind entity org.jboss.seam.example.booking.User on table Customer
                              22:12:45,382 INFO  [AnnotationBinder] Binding entity from annotated class: org.jboss.seam.example.booking.Booking
                              22:12:45,383 INFO  [EntityBinder] Bind entity org.jboss.seam.example.booking.Booking on table Booking
                              22:12:45,440 INFO  [AnnotationBinder] Binding entity from annotated class: org.jboss.seam.example.booking.Hotel
                              22:12:45,440 INFO  [EntityBinder] Bind entity org.jboss.seam.example.booking.Hotel on table Hotel
                              22:12:45,624 INFO  [Version] Hibernate Validator 3.1.0.GA
                              22:12:45,803 INFO  [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
                              22:12:45,832 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
                              22:12:45,841 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource
                              22:12:45,892 INFO  [SettingsFactory] RDBMS: HSQL Database Engine, version: 1.8.0
                              22:12:45,892 INFO  [SettingsFactory] JDBC driver: HSQL Database Engine Driver, version: 1.8.0
                              22:12:45,937 INFO  [Dialect] Using dialect: org.hibernate.dialect.HSQLDialect
                              22:12:45,951 INFO  [TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
                              22:12:45,955 INFO  [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
                              22:12:45,971 INFO  [TransactionManagerLookupFactory] instantiated TransactionManagerLookup
                              22:12:45,971 INFO  [SettingsFactory] Automatic flush during beforeCompletion(): disabled
                              22:12:45,972 INFO  [SettingsFactory] Automatic session close at end of transaction: disabled
                              22:12:45,972 INFO  [SettingsFactory] JDBC batch size: 15
                              22:12:45,972 INFO  [SettingsFactory] JDBC batch updates for versioned data: disabled
                              22:12:45,977 INFO  [SettingsFactory] Scrollable result sets: enabled
                              22:12:45,977 INFO  [SettingsFactory] JDBC3 getGeneratedKeys(): disabled
                              22:12:45,977 INFO  [SettingsFactory] Connection release mode: auto
                              22:12:45,980 INFO  [SettingsFactory] Default batch fetch size: 1
                              22:12:45,980 INFO  [SettingsFactory] Generate SQL with comments: disabled
                              22:12:45,980 INFO  [SettingsFactory] Order SQL updates by primary key: disabled
                              22:12:45,980 INFO  [SettingsFactory] Order SQL inserts for batching: disabled
                              22:12:45,980 INFO  [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
                              22:12:45,985 INFO  [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
                              22:12:45,985 INFO  [SettingsFactory] Query language substitutions: {}
                              22:12:45,985 INFO  [SettingsFactory] JPA-QL strict compliance: enabled
                              22:12:45,985 INFO  [SettingsFactory] Second-level cache: enabled
                              22:12:45,985 INFO  [SettingsFactory] Query cache: disabled
                              22:12:45,993 INFO  [SettingsFactory] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
                              22:12:45,994 INFO  [RegionFactoryCacheProviderBridge] Cache provider: org.hibernate.cache.HashtableCacheProvider
                              22:12:45,996 INFO  [SettingsFactory] Optimize cache for minimal puts: disabled
                              22:12:45,996 INFO  [SettingsFactory] Cache region prefix: persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                              22:12:45,997 INFO  [SettingsFactory] Structured second-level cache entries: disabled
                              22:12:46,006 INFO  [SettingsFactory] Echoing all SQL to stdout
                              22:12:46,008 INFO  [SettingsFactory] Statistics: disabled
                              22:12:46,009 INFO  [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
                              22:12:46,011 INFO  [SettingsFactory] Default entity-mode: pojo
                              22:12:46,012 INFO  [SettingsFactory] Named query checking : enabled
                              22:12:46,129 INFO  [SessionFactoryImpl] building session factory
                              22:12:46,802 INFO  [SessionFactoryObjectFactory] Factory name: persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                              22:12:46,806 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
                              22:12:46,814 INFO  [NamingHelper] Creating subcontext: persistence.unit:unitName=jboss-seam-booking.ear
                              22:12:46,815 INFO  [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.unit:unitName=jboss-seam-booking.ear/jboss-seam-booking.jar#bookingDatabase
                              22:12:46,815 WARN  [SessionFactoryObjectFactory] InitialContext did not implement EventContext
                              22:12:46,893 INFO  [SchemaExport] Running hbm2ddl schema export
                              22:12:46,893 INFO  [SchemaExport] exporting generated schema to database
                              22:12:46,913 INFO  [SchemaExport] Executing import script: /import.sql
                              22:12:46,922 INFO  [SchemaExport] schema export complete
                              22:12:46,966 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
                              22:12:47,492 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelSearchingAction,service=EJB3
                              22:12:47,504 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.example.booking.HotelSearchingAction ejbName: HotelSearchingAction
                              22:12:47,663 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/HotelSearchingAction/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/HotelSearchingAction/local-org.jboss.seam.example.booking.HotelSearching - EJB3.x Local Business Interface
                              
                              22:12:47,697 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=HotelBookingAction,service=EJB3
                              22:12:47,711 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.example.booking.HotelBookingAction ejbName: HotelBookingAction
                              22:12:47,758 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/HotelBookingAction/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/HotelBookingAction/local-org.jboss.seam.example.booking.HotelBooking - EJB3.x Local Business Interface
                              
                              22:12:47,789 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=ChangePasswordAction,service=EJB3
                              22:12:47,791 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.example.booking.ChangePasswordAction ejbName: ChangePasswordAction
                              22:12:47,850 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/ChangePasswordAction/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/ChangePasswordAction/local-org.jboss.seam.example.booking.ChangePassword - EJB3.x Local Business Interface
                              
                              22:12:47,875 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=RegisterAction,service=EJB3
                              22:12:47,877 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.example.booking.RegisterAction ejbName: RegisterAction
                              22:12:47,913 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/RegisterAction/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/RegisterAction/local-org.jboss.seam.example.booking.Register - EJB3.x Local Business Interface
                              
                              22:12:47,915 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=AuthenticatorAction,service=EJB3
                              22:12:47,917 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.example.booking.AuthenticatorAction ejbName: AuthenticatorAction
                              22:12:47,995 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/AuthenticatorAction/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/AuthenticatorAction/local-org.jboss.seam.example.booking.Authenticator - EJB3.x Local Business Interface
                              
                              22:12:48,012 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam-booking.jar,name=BookingListAction,service=EJB3
                              22:12:48,014 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.example.booking.BookingListAction ejbName: BookingListAction
                              22:12:48,048 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/BookingListAction/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/BookingListAction/local-org.jboss.seam.example.booking.BookingList - EJB3.x Local Business Interface
                              
                              22:12:48,189 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=TimerServiceDispatcher,service=EJB3
                              22:12:48,189 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.async.TimerServiceDispatcher ejbName: TimerServiceDispatcher
                              22:12:48,223 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/TimerServiceDispatcher/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/TimerServiceDispatcher/local-org.jboss.seam.async.LocalTimerServiceDispatcher - EJB3.x Local Business Interface
                              
                              22:12:48,405 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=jboss-seam-booking.ear,jar=jboss-seam.jar,name=EjbSynchronizations,service=EJB3
                              22:12:48,405 INFO  [EJBContainer] STARTED EJB: org.jboss.seam.transaction.EjbSynchronizations ejbName: EjbSynchronizations
                              22:12:48,423 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
                              
                                   jboss-seam-booking/EjbSynchronizations/local - EJB3.x Default Local Business Interface
                                   jboss-seam-booking/EjbSynchronizations/local-org.jboss.seam.transaction.LocalEjbSynchronizations - EJB3.x Local Business Interface
                              
                              22:12:48,565 INFO  [TomcatDeployment] deploy, ctxPath=/seam-booking
                              22:12:48,657 INFO  [config] Initializing Mojarra (1.2_12-b01-FCS) for context '/seam-booking'
                              22:12:51,548 INFO  [ServletContextListener] Welcome to Seam 2.2.1.CR1
                              22:12:55,030 WARN  [PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
                              22:12:55,555 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080
                              22:12:55,598 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-localhost%2F127.0.0.1-8009
                              22:12:55,634 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 1m:31s:891ms
                              22:13:46,345 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:46,349 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:57,013 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:57,013 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:57,782 INFO  [STDOUT] Hibernate: select user0_.username as username0_, user0_.name as name0_, user0_.password as password0_ from Customer user0_ where user0_.username=? and user0_.password=?
                              22:13:58,571 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:58,572 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:58,640 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:58,641 WARN  [InterceptorsFactory] EJBTHREE-1246: Do not use InterceptorsFactory with a ManagedObjectAdvisor, InterceptorRegistry should be used via the bean container
                              22:13:58,669 INFO  [STDOUT] Hibernate: select booking0_.id as id1_, booking0_.beds as beds1_, booking0_.checkinDate as checkinD3_1_, booking0_.checkoutDate as checkout4_1_, booking0_.creditCard as creditCard1_, booking0_.creditCardExpiryMonth as creditCa6_1_, booking0_.creditCardExpiryYear as creditCa7_1_, booking0_.creditCardName as creditCa8_1_, booking0_.hotel_id as hotel10_1_, booking0_.smoking as smoking1_, booking0_.user_username as user11_1_ from Booking booking0_ where booking0_.user_username=? order by booking0_.checkinDate
                              22:14:27,147 INFO  [STDOUT] JRebel: Reloading class 'org.jboss.seam.example.booking.HotelSearching'.
                              22:14:27,160 INFO  [STDOUT] JRebel: Reloading class 'org.javassist.tmp.java.lang.Object_$$_javassist_seam_4'.
                              22:14:27,307 INFO  [STDOUT] JRebel: Reinitialized class 'org.javassist.tmp.java.lang.Object_$$_javassist_seam_4'.
                              22:14:27,315 INFO  [STDOUT] JRebel: Reloading class 'org.jboss.seam.example.booking.HotelSearchingAction'.
                              22:14:27,326 INFO  [STDOUT] JRebel-JBoss: Reconfiguring EJB 'HotelSearchingAction' [org.jboss.seam.example.booking.HotelSearchingAction]
                              22:14:27,478 INFO  [STDOUT] JRebel-Seam: Reconfiguring Seam component 'hotelSearch' [org.jboss.seam.example.booking.HotelSearchingAction]
                              22:14:27,565 INFO  [STDOUT] in test!
                              22:14:27,622 INFO  [STDOUT] JRebel: Reloading class 'org.jboss.seam.example.booking.BookingList'.
                              22:14:27,629 INFO  [STDOUT] JRebel: Reloading class 'org.javassist.tmp.java.lang.Object_$$_javassist_seam_5'.
                              22:14:27,640 INFO  [STDOUT] JRebel: Reinitialized class 'org.javassist.tmp.java.lang.Object_$$_javassist_seam_5'.
                              22:14:27,640 INFO  [STDOUT] JRebel: Reloading class 'org.jboss.seam.example.booking.User'.
                              22:14:27,651 INFO  [STDOUT] JRebel: Reloading class 'org.jboss.seam.example.booking.User_$$_javassist_0'.
                              22:14:27,669 INFO  [STDOUT] JRebel: Reinitialized class 'org.jboss.seam.example.booking.User_$$_javassist_0'.
                              22:14:27,670 INFO  [STDOUT] JRebel-Seam: Reconfiguring Seam component 'user' [org.jboss.seam.example.booking.User]
                              

                              • 12. Re: JRebel 3 and Seam 3
                                asookazian

                                So there you have it!  An example of hot reload of EJB (SFSB in this case) with a Seam 2.2.x app.


                                I think I may have better luck building the weld example apps with Windows rather than Ubuntu (I'm relatively new to Linux).


                                However, I'm not sure that JRebel supports Seam3 or Weld currently.  I will find out...

                                • 13. Re: JRebel 3 and Seam 3
                                  cash1981

                                  Dan Allen wrote on Mar 27, 2010 19:34:

                                  Arbi, if you run across some spare time, it would be great if you could put together a short blog entry that provides a tutorial for using JRebel with CDI/Seam 3. I think that would really help drum up interest in this effort.

                                  Even if we end up pursuing Stuart's prototype, we could always recommend the use of JRebel as an alternative. Seam is just as much about the documentation as it is the libraries.


                                  I second that!
                                  It would be great Arbi if you could do a blog post, with some screen shots, step by step how to do this.

                                  • 14. Re: JRebel 3 and Seam 3
                                    asookazian

                                    Note: http://www.zeroturnaround.com/jrebel/current/ JRebel 3.0-CR1 is available as of 03/29/10!


                                    So is most of the demand/interest for the JRebel blog for hot reloading Seam 2.x, Seam 3, or Weld components?  EJB 3.1 is supported in JBoss 6.0.0-M2: http://community.jboss.org/wiki/EJB31inAS600M2.  So perhaps in the near future I can test JRebel 3.0-CR1 with Weld/EJB 3.1/JSF/JBoss 6-Mx?  I'll have to wait for Seam3 to be stable and the integration to be complete from the JRebel side.


                                    Here is an email I got from zeroturnaround recently (2/9/10):



                                    EJB 3.1 is not supported by any of the released jboss versions so we just have to wait while the jboss guys implement it and see if we need to do any special integration.

                                    About using jrebel with seam/ejb/jsf/weld we don't have any special instructions. Jrebel core functionality (reloading classes) should work nicely but functionality that requires integration with the specific container/framework (such as adding a new @EJB field) may be missing and that's where we would need user feedback to know what features users really miss.

                                    IIRC when I was testing 3.0-M1 and/or 3.0-M2 (don't recall which version exactly), @EJB and @In hot redeploy both worked.  Note that I did not have time to do complicated test scenarios.


                                    I'm not sure about support (or plans to support) for changes to components.xml (or beans.xml for Weld).  But I know they support xml changes for Spring and others:


                                    http://www.zeroturnaround.com/jrebel/comparison/


                                    Note that JBoss 6 is not yet listed (but it's likely it will be once JBoss 6 is GA and their integration/testing is complete).


                                    ********************************************
                                      JavaRebel Changelog                    
                                    ********************************************
                                    
                                    3.0 RC1 (29 March 2010)
                                    
                                    * Added OpenJPA plugin; reloads the EntityManagerFactory on configuration changes (disabled by default)
                                    * Added support for load time weaving with spring-agent
                                    * Fixed potential Classloader deadlock on Tomcat 6.0.26
                                    * Fixed NoSuchMethodError for early Spring 2 versions



                                    There is no reference to 'EJB 3.1' in the changelog.txt.

                                    1 2 Previous Next