[JBoss Seam] - FileUpload
by jknotzke
Hi,
I have what's got to be a very basic Seam question. I am using SEAM 2.0 BETA.
I am simply trying to upload a CSV file. Here's the code:
|
| ....
| import static org.jboss.seam.ScopeType.SESSION;
|
| import java.io.Serializable;
|
| import javax.persistence.Entity;
| import javax.persistence.Id;
| import javax.persistence.Table;
|
| import org.hibernate.validator.Length;
| import org.hibernate.validator.NotNull;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Scope;
|
| @Entity
| @Name("uploadedWorkout")
| @Scope(SESSION)
| public class UploadedWorkout implements Serializable
| {
| private byte[] uploadedFile;
| @Id @NotNull
| private String fileName;
| private String contentType;
|
| public UploadedWorkout()
| {
| }
|
| public String getFileName()
| {
| return fileName;
| }
|
| ........ sets and gets
|
Action Class
| import javax.ejb.Stateless;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.log.Log;
| import org.jboss.seam.faces.FacesMessages;
| import org.jboss.seam.annotations.Scope;
| import static org.jboss.seam.ScopeType.SESSION;
|
| @Stateless
| @Scope(SESSION)
| @Name("uploadWorkout")
| public class UploadWorkoutBean implements UploadWorkout {
|
| @Logger private Log log;
| @In(value="uploadedWorkout", create=true)
| private UploadedWorkout uploadedWorkout;
|
| @In FacesMessages facesMessages;
|
| public void uploadWorkout()
| {
| //implement your business logic here
| log.info("Content Type is: " + uploadedWorkout.getContentType());
| log.info("FileName is: " + uploadedWorkout.getFileName());
| log.info("uploadWorkout.uploadWorkout() action called");
| facesMessages.add("uploadWorkout");
| }
|
JSF:
|
| <ui:composition xmlns="http://www.w3.org/1999/xhtml"
| xmlns:s="http://jboss.com/products/seam/taglib"
| xmlns:ui="http://java.sun.com/jsf/facelets"
| xmlns:f="http://java.sun.com/jsf/core"
| xmlns:h="http://java.sun.com/jsf/html"
| xmlns:rich="http://richfaces.ajax4jsf.org/rich"
| xmlns:a="https://ajax4jsf.dev.java.net/ajax"
| template="layout/template.xhtml">
|
| <ui:define name="body">
|
| <h:messages globalOnly="true" styleClass="message"/>
|
| <rich:panel>
| <f:facet name="header">Upload Workout</f:facet>
|
| <h:form id="uploadedWorkoutForm">
| <s:fileUpload id="inUploadFile"
| data="#{uploadedWorkout.uploadedFile}"
| fileName="#{uploadedWorkout.fileName}"
| contentType="#{uploadedWorkout.contentType}"
| styleClass="fileUploadInput" />
|
|
| <h:commandButton id="uploadWorkout" value="uploadWorkout!"
| action="#{uploadWorkout.uploadWorkout}"/>
|
| </h:form>
|
| </rich:panel>
|
| </ui:define>
|
| </ui:composition>
|
The properties in uploadedFile are always NULL. As a matter of fact, I had to stuff create=true in because uploadedFile itself was null.
If I swap:
| @In(value="uploadedWorkout", create=true)
| private UploadedWorkout uploadedWorkout;
|
for
| @In
| private User user;
|
...which is a component I successfully used for registration and login, all works.. So the problem is with UploadedWorkout..
Any ideas ?
Thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071239#4071239
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071239
18Â years, 8Â months
[EJB 3.0] - EJB timers in a @Service EJB
by icruz
Hello,
(moved from JBoss/EJB forum)
I have a problem with JBoss 4.2.1GA. I have a @Service EJB, in start() method I create a EJB timer, and it works.
The first problem is when I shutdown jboss, in the stop() method of the Service EJB I call the method timer.cancel(), and it throws an exception with the message "timer was canceled", but the timer remains in the MySQL (if I call stop() from the JMX console, it is cancelled correctly)
The second problem is when I restart jboss after that. In the start() method of my service EJB, the function timerService.getTimers() returns an empty collection (even the timer *is* in the database), and when I try to create the timer it fails with a "duplicate key" exception from MySQL driver
Thanks in advance,
Isaac
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071237#4071237
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071237
18Â years, 8Â months
[JBoss Seam] - [SEAM 2.0 BETA 1] Embedded ejb container fails at test start
by littlewing1112
Hello,
Foremost, my environment :
J2SE 1.5.0_11
| JBOSS 4.2.0.GA
| SEAM 2.0.BETA1
|
| I created with the typical configuration of seam gen an ear project. After created an action , I tried to create a unit test and run it in the embedded container.
| Unfortunately I always have this error :
|
| [Parser] Running:
| | D:\java\src\testseam2\temp-testng-customsuite.xml
| |
| | WARN 06-08 17:11:49,951 [org.jboss.mx.loading.UnifiedLoaderRepository3.addClassLoader():675] Tried to add non-URLClassLoader. Ignored
| | INFO 06-08 17:11:52,925 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():126] JBossTS Transaction Service (JTA version) - JBoss Inc.
| | INFO 06-08 17:11:52,935 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():128] Setting up property manager MBean and JMX layer
| | WARN 06-08 17:11:53,076 [com.arjuna.ats.arjuna.coordinator.TxControl.<clinit>():266] [com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using -3f5785b8:f4a:46b73a38:0
| | INFO 06-08 17:11:53,226 [com.arjuna.ats.arjuna.recovery.TransactionStatusManager.addService():110] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 3914
| | INFO 06-08 17:11:53,436 [?.?():?] TransactionStatusManagerItem - host: 192.168.122.72 port: 3914
| | INFO 06-08 17:11:53,506 [com.arjuna.ats.arjuna.recovery.TransactionStatusManager.start():161] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 3914 with service com.arjuna.ats.arjuna.recovery.ActionStatusService
| | INFO 06-08 17:11:53,526 [?.?():?] Registering mbean for module 'arjuna'
| | INFO 06-08 17:11:53,576 [?.?():?] Initialising JMX agent com.arjuna.ats.internal.jbossatx.agent.LocalJBossAgentImpl
| | INFO 06-08 17:11:53,636 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():163] Starting recovery manager
| | INFO 06-08 17:11:53,666 [?.?():?]
| | --- Start RecoveryActivators
| | INFO 06-08 17:11:53,727 [com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>():142] [com.arjuna.ats.internal.arjuna.recovery.ready] RecoveryManagerImple is ready on port 3 915
| | INFO 06-08 17:11:53,727 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():168] Recovery manager started
| | INFO 06-08 17:11:53,727 [com.arjuna.ats.jbossatx.jta.TransactionManagerService.startService():191] Binding TransactionManager JNDI Reference
| | INFO 06-08 17:11:58,504 [org.jboss.jms.server.ServerPeer.<init>():187] ServerPeer[0] creating server peer with ID 0
| | FAILED CONFIGURATION: @BeforeClass init
| | org.jboss.deployers.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
| |
| | *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
| |
| | jboss.jca:name=DefaultDS,service=DataSourceBinding
| | -> jboss.jca:name=DefaultDS,service=LocalTxCM{Start:Configured}
| | -> jboss.jca:name=DefaultDS,service=LocalTxCM{Create:Configured}
| |
| | jboss.jca:name=DefaultDS,service=LocalTxCM
| | -> jboss.jca:name=DefaultDS,service=ManagedConnectionPool{Start:Configured}
| | -> jboss.jca:name=DefaultDS,service=ManagedConnectionPool{Create:Configured}
| |
| | jboss.jca:name=DefaultDS,service=ManagedConnectionFactory
| | -> jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment{Create:** NOT FOUND **}
| | -> jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment{Start:** NOT FOUND **}
| |
| | jboss.jca:name=DefaultDS,service=ManagedConnectionPool
| | -> jboss.jca:name=DefaultDS,service=ManagedConnectionFactory{Start:Configured}
| | -> jboss.jca:name=DefaultDS,service=ManagedConnectionFactory{Create:Configured}
| |
| | jboss.jca:name=JmsXA,service=DataSourceBinding
| | -> jboss.jca:name=JmsXA,service=TxCM{Create:Configured}
| | -> jboss.jca:name=JmsXA,service=TxCM{Start:Configured}
| |
| | jboss.jca:name=JmsXA,service=ManagedConnectionFactory
| | -> jboss.jca:name='jms-ra.rar',service=RARDeployment{Create:** NOT FOUND **}
| | -> jboss.jca:name='jms-ra.rar',service=RARDeployment{Start:** NOT FOUND **}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| |
| | jboss.jca:name=JmsXA,service=ManagedConnectionPool
| | -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Start:Configured}
| | -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Create:Configured}
| |
| | jboss.jca:name=JmsXA,service=TxCM
| | -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Start:Configured}
| | -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Create:Configured}
| |
| | jboss.messaging.connectionfactory:service=ConnectionFactory
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| |
| | jboss.messaging.destination:name=DLQ,service=Queue
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| |
| | jboss.messaging.destination:name=ExpiryQueue,service=Queue
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| |
| | jboss.messaging.destination:name=PrivateDLQ,service=Queue
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| |
| | jboss.messaging.destination:name=PrivateExpiryQueue,service=Queue
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| |
| | jboss.messaging.destination:name=QueueWithOwnDLQAndExpiryQueue,service=Queue
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| |
| | jboss.messaging.destination:name=QueueWithOwnRedeliveryDelay,service=Queue
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| |
| | jboss.messaging.destination:name=TopicWithOwnDLQAndExpiryQueue,service=Topic
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| |
| | jboss.messaging.destination:name=TopicWithOwnRedeliveryDelay,service=Topic
| | -> jboss.messaging:service=PostOffice{Create:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.messaging:service=PostOffice{Start:Configured}
| |
| | jboss.messaging:service=JMSUserManager
| | -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:Configured}
| | -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
| |
| | jboss.messaging:service=PersistenceManager
| | -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
| | -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:Configured}
| |
| | jboss.messaging:service=PostOffice
| | -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| | -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
| |
| | jboss.messaging:service=ServerPeer
| | -> jboss.messaging:service=JMSUserManager{Start:Configured}
| | -> jboss.messaging:service=JMSUserManager{Create:Configured}
| | -> jboss.messaging:service=PersistenceManager{Create:Configured}
| | -> jboss.messaging:service=PersistenceManager{Start:Configured}
| |
| | jboss.mq:service=DestinationManager
| | -> jboss.messaging:service=ServerPeer{Start:Configured}
| | -> jboss.messaging:service=ServerPeer{Create:Configured}
| |
| |
| | *** CONTEXTS IN ERROR: Name -> Error
| |
| | jboss.jca:name='jms-ra.rar',service=RARDeployment -> ** NOT FOUND **
| |
| | jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment -> ** NOT FOUND **
| |
| |
| | at org.jboss.embedded.Bootstrap.checkIncomplete(Bootstrap.java:144)
| | at org.jboss.embedded.Bootstrap.bootstrapURL(Bootstrap.java:169)
| | at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:201)
| | at org.jboss.embedded.Bootstrap.bootstrap(Bootstrap.java:214)
| | at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:919)
| | at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:856)
| | at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
| | ... Removed 22 stack frames
| | SKIPPED CONFIGURATION: @BeforeMethod begin
| | SKIPPED CONFIGURATION: @AfterMethod end
| | SKIPPED CONFIGURATION: @AfterClass cleanup
| | SKIPPED: testTest
|
| How can I solve this problem ?
|
| Regards
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071233#4071233
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071233
18Â years, 8Â months
[JBoss Portal] - Exception - No null layout allowed here
by explorer
Hi all,
I am getting an exception
java.lang.IllegalArgumentException: No null layout allowed here
I had been going through the forum for this exception but every one says that its related to MySQL5 Data Truncation Error.
But its not being handy to me.
My Envi:
Portal:2.6.1,
AS: 4.2.1,
DB: Oracle,
CMS: Alfresco,
OS : XP.
The full stack trace is
| java.lang.IllegalArgumentException: No null layout allowed here
| at org.jboss.portal.theme.LayoutDispatcher.<init>(LayoutDispatcher.java:78)
| at org.jboss.portal.theme.impl.JSPLayout.render(JSPLayout.java:161)
| at org.jboss.portal.theme.render.RendererContext.render(RendererContext.java:219)
| at org.jboss.portal.theme.impl.JSPRendererContext.render(JSPRendererContext.java:66)
| at org.jboss.portal.core.theme.PageRendition.render(PageRendition.java:93)
| at org.jboss.portal.core.model.portal.PortalObjectResponseHandler$1.sendResponse(PortalObjectResponseHandler.java:87)
|
| at org.jboss.portal.core.controller.Controller.sendResponse(Controller.java:329)
| at org.jboss.portal.core.controller.Controller.processHandlerResponse(Controller.java:313)
| at org.jboss.portal.core.controller.Controller.processCommandResponse(Controller.java:293)
| at org.jboss.portal.core.controller.Controller.processCommand(Controller.java:267)
| at org.jboss.portal.core.controller.Controller.handle(Controller.java:226)
| at org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestControllerDispatcher.java:51)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
| at org.jboss.portal.core.cms.aspect.IdentityBindingInterceptor.invoke(IdentityBindingInterceptor.java:47)
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(ContentTypeInterceptor.java:68)
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInterceptor.java:96)
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterceptor.java:245)
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.server.aspects.server.SessionInvalidatorInterceptor.invoke(SessionInvalidatorInterceptor.java:84)
|
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.invoke(UserEventBridgeTriggerInterceptor.jav
| a:65)
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$portal$core$aspects$server$TransactionInterc
| eptor$invoke$aop(TransactionInterceptor.java:49)
| at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInte
| rceptor$invoke_N5143606530999904530.java)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
| at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
| at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInte
| rceptor$invoke_N5143606530999904530.java)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
| at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:262)
| at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInte
| rceptor$invoke_N5143606530999904530.java)
| at org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(TransactionInterceptor.java)
| at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.server.aspects.LockInterceptor$InternalLock.invoke(LockInterceptor.java:70)
| at org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor.java:131)
| at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
| at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
| at org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java:380)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:595)
Some one please help. Thanks in advance.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071230#4071230
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071230
18Â years, 8Â months