users@glassfish.java.net

Re: Issue with maven-embedded-glassfish-plugin version 3.1(3.1.1)

From: Mirea Vasile <mirea_vasile_at_yahoo.com>
Date: Fri, 24 Feb 2012 09:52:54 +0000 (GMT)

HiBhavani,

In this moment I am stuck with the plugin and if the bugfixing takes longer I have no other option then trying to deploy using the maven cargo plugin.

Until the bug will be fixed, there is maybe a work around like specifying a library in the classpath of the application with the admin goal ?
Actually the application deployed with the admin goal cannot find the library where the JPA classes are defined, if I find a way to specify the lib directory in the classpath then it should work.
Any idea how to do that ?

Any idea how long it will take the bugfix?


Thanks,
   Vasile



________________________________
 Von: Bhavanishankar <bhavanishankara.sapaliga_at_oracle.com>
An: Mirea Vasile <mirea_vasile_at_yahoo.com>
Cc: "users_at_embedded-glassfish.java.net" <users_at_embedded-glassfish.java.net>; "users_at_glassfish.java.net" <users_at_glassfish.java.net>
Gesendet: 6:16 Donnerstag, 23.Februar 2012
Betreff: Re: Issue with maven-embedded-glassfish-plugin version 3.1(3.1.1)
 

Hi Vasile,

Ok I will try to create a test case and log an issue. Will get back
    to you if I could not reproduce the issue.

Thanks,

Bhavani

On 02/22/2012 04:25 PM, Mirea Vasile wrote:

>
>Hi Bhavani,
>
>
>I tryed this solution to set the memory options for maven.
It helps.
>Now I get on Widnows 7 and on linux the same error:
>
>org.springframework.ws.soap.client.SoapFaultClientException: org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.internal.ast.HqlToken [select count(*) from com.ws.web.persistence.jpa.DdClass where ipAddress = ?] at org.springframework.ws.soap.client.core.SoapFaultMessageResolver.resolveFault(SoapFaultMessageResolver.java:37) at org.springframework.ws.client.core.WebServiceTemplate.handleFault(WebServiceTemplate.java:774) at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:600) at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:537) at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:384) at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:378) at
 org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:370)
Seems the deployment doenst work corectly using the admin goal.
>
>Maybe you can create a issue for this problem too.
>
>A use-case will be:
>  the deployed application is a spring ws application who is
        using JPA and Hibernate for persistence.
>The JPA classes are located in another jar file who is in the
        dependecies of the web service application and the file is found
        in the glassfish directory.
>Still the embedded-glassfish is not able to locate the JPA
        classes.
>The client of the web service is normally deployed with the
        embedded-glassfish(it is a Spring MVC web application).
>
>I cannot provide a sample project because I use database
        connections and to modify it, it takes to much time.
>Maybe this use-case helps you to make an idea and to fix the
        problem.
>I tryed with version 3.1 and with version 3.1.1 and I have the
        same problem.
>
>
> Regards,
>   Vasile.
>
>
>
>
>
>
>________________________________
> Von: Bhavanishankar <bhavanishankara.sapaliga_at_oracle.com>
>An: Mirea Vasile <mirea_vasile_at_yahoo.com>
>Cc: "users_at_embedded-glassfish.java.net" <users_at_embedded-glassfish.java.net>; "users_at_glassfish.java.net" <users_at_glassfish.java.net>
>Gesendet: 18:21 Dienstag, 21.Februar 2012
>Betreff: Re: Issue with maven-embedded-glassfish-plugin version 3.1(3.1.1)
>
>
>Hi Vasile,
>
>You can try setting higher PermGen space using
                MAVEN_OPTS environment variable, something like:
>
>MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
>
>Thanks,
>
>Bhavani
>
>On 02/21/2012 10:32 PM, Mirea Vasile wrote:
>
>>
>>
>>
>>Hi Bhavani,
>>
>>
>>trying to run the same application under linux I get the following issue :
>> 
>>21.02.2012 17:44:01 org.glassfish.api.ActionReport failure
SCHWERWIEGEND: Exception while preparing the app
21.02.2012 17:44:01 com.sun.enterprise.v3.server.ApplicationLifecycle deploy
SCHWERWIEGEND: PermGen space
java.lang.OutOfMemoryError: PermGen space at org.hibernate.event.service.internal.EventListenerRegistryImpl.prepareListenerMap(EventListenerRegistryImpl.java:235) at org.hibernate.event.service.internal.EventListenerRegistryImpl.<init>(EventListenerRegistryImpl.java:97) at org.hibernate.event.service.internal.EventListenerServiceInitiator.initiateService(EventListenerServiceInitiator.java:51) at org.hibernate.event.service.internal.EventListenerServiceInitiator.initiateService(EventListenerServiceInitiator.java:38) at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:177) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150) at
 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyHibernateListeners(BeanValidationIntegrator.java:292) at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:134) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:294) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737) at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) at
 org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:205) at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:119) at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:214) at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:483) at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:221) at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:167) at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:872) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:410) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:382) at
 com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1244) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232)
Build timed out. Aborting It seems the deploy command it generates some issues to glassfish under linux.
What should I do in this situation ?
>>
>>
>>Thanks,
>>  Vasile.
>>
>>
>>
>>________________________________
>> Von: Bhavanishankar <bhavanishankara.sapaliga_at_oracle.com>
>>An: Mirea Vasile <mirea_vasile_at_yahoo.com>
>>Cc: "users_at_embedded-glassfish.java.net" <users_at_embedded-glassfish.java.net>; "users_at_glassfish.java.net" <users_at_glassfish.java.net>
>>Gesendet: 18:13 Montag, 20.Februar 2012
>>Betreff: Re: Issue with maven-embedded-glassfish-plugin version 3.1(3.1.1)
>>
>>
>>Hi Vasile,
>>
>>"\" characters getting replaced on Windows
                            seems to be bug. Please file a bug for it in
                            issuetracker[1]
>>
>>Since "glassfish.embedded.tmpdir" system
                            property is the way of specifying where the
                            temp. domain dir should get created, what
                            you are seeing is the right behaviour.
>>
>>For the second application deployment, you
                            should ideally file an enhancement request
                            in issuetracker[1]. But as a workaround, you can use admin goal[2] of the plugin. For you reference, I have attached pom.xml snippet which can do this.
>>
>>Thanks,
>>
>>Bhavani
>>
>>[1] http://java.net/jira/browse/GLASSFISH
>>[2] http://embedded-glassfish.java.net/nonav/plugindocs/3.1/admin-mojo.html
>>
>>
>>On 02/20/2012 10:02 PM, Mirea Vasile wrote:
>>
>>>
>>>
>>>
>>>Hi Bhavani,
>>>
>>>
>>>Thank you very much for the answer.
>>>Unfortunately is not working properly.
>>>The path ${project.build.directory}/glassfish is replaced with :
>>>
>>>
>>>  T:\workspace2\slave-server-webui\target/glassfish
>>>
>>>
>>>Unfortunately the plugin replace all "\" and the path remains like:
>>>  Set system property [glassfish.embedded.tmpdir = T:workspace2slave-server-webui
>>>arget/glassfish]
>>>
>>>
>>>Maybe you can correct this bug(my build runs on windows 7).
>>>
>>>
>>>I found a workaround in my case:
>>>I use target/glassfish and then the plugin use this path additional to the app path and then the plugin deploy glassfish under:
>>>   T:\workspace2\slave-server-webui\target\glassfish\
>>>Then the glassfish directory will be:
>>>
>>>
>>> 
T:\workspace2\slave-server-webui\target\glassfish\gfembed8580213734252944528tmp
>>>
>>>
>>>
>>>
>>>Now my question is why this tmp directory is additionally generated ?
>>>My problem is I want to copy another application in the autodeploy directory of embedded glassfish.
>>>My integration tests for my application slave-server-webui are using another application ( a web service)
>>>I need to copy in the pre-integration pfase this additional web service application in the embedded glassfish otherwise my application slave-server-webui and his integration tests won't work.
>>>
>>>
>>>Maybe you can suggest me a better solution for my case.
>>>I describe my problem here :
>>>
>>>  http://stackoverflow.com/questions/9280413/maven-embedded-glassfish-plugin-deploying-2-applications
>>>
>>>
>>>Unfortunattly I got no answer to my question, so my only idea was to copy in the autodeploy directory on the embedded glassfish my second application(the web service).
>>>Thanks for helping with using embeded glassfish plugin for maven.
>>>
>>>
>>>
>>>Regards,
>>>
>>>  Vasile
>>>
>>>
>>>________________________________
>>> Von: Bhavanishankar <bhavanishankara.sapaliga_at_oracle.com>
>>>An: Mirea Vasile <mirea_vasile_at_yahoo.com>
>>>Cc: "users_at_glassfish.java.net" <users_at_glassfish.java.net>; "users_at_embedded-glassfish.java.net" <users_at_embedded-glassfish.java.net>
>>>Gesendet: 7:25 Montag, 20.Februar 2012
>>>Betreff: Re: Issue with maven-embedded-glassfish-plugin version 3.1(3.1.1)
>>>
>>>
>>>Hi,
>>>
>>>With 3.1 (onwards) you should
                                        set the instanceRoot iff you
                                        have pre-created domain
                                        directory.
>>>
>>>Otherwise, if you intend to make
                                        the embedded GlassFish use a
                                        different temp. directory for
                                        its tiny instance root creation,
                                        then you should set this in
                                        embedded plugin configuration:
>>>
>>><configuration>
>>>
>>>...
>>><systemProperties>
>>>>
>>>><property>glassfish.embedded.tmpdir=${project.build.directory}/glassfish</property>
>>>>>
</systemProperties>
>>>>
>>>...
</configuration>
>>>
>>>HTH,
>>>
>>>Bhavani
>>>
>>>On 02/15/2012 04:04 PM, Mirea
                                        Vasile wrote:
>>>
>>>>
>>>>
>>>>
>>>> Hi,
>>>>
>>>>
>>>>  I have the following issue:
>>>>
>>>>
>>>>  I am using the maven-embedded-glassfish-plugin .
>>>>  I am having the following configuration in maven for it:
>>>>   
>>>>
>>>> <plugin>
>>>>           
                                              <groupId>org.glassfish</groupId>
>>>>           
                                              <artifactId>maven-embedded-glassfish-plugin</artifactId>
>>>>           
                                              <version>3.0</version>
>>>>            
>>>>           
                                              <configuration>
>>>>             
                                              <goalPrefix>embedded-glassfish</goalPrefix>
>>>>         
                                              <serverID>localhost</serverID>
>>>>         
                                              <name>${build.finalName}</name>
>>>>         
                                              <app>${project.build.directory}/${build.finalName}.war</app>
>>>>         
                                              <port>8080</port>
>>>> 
>>>>         
<instanceRoot>${project.build.directory}/glassfish</instanceRoot>
>>>>
>>>>         
                                              <autoDelete>true</autoDelete>
>>>>
>>>>       
                                              </configuration>
>>>>
>>>>           
                                              <executions>
>>>>              
                                              <execution>
>>>>                 
                                              <id>start-glassfish</id>
>>>>                 
                                              <phase>pre-integration-test</phase>
>>>>                 
                                              <goals>
>>>>                    
                                              <goal>start</goal>
>>>>                 
                                              </goals>
>>>>              
                                              </execution>
>>>>              
                                              <execution>
>>>>                 
                                              <id>glassfish-deploy</id>
>>>>                 
                                              <phase>pre-integration-test</phase>
>>>>                 
                                              <goals>
>>>>                    
                                              <goal>deploy</goal>
>>>>                 
                                              </goals>
>>>>              
                                              </execution>
>>>>              
                                              <execution>
>>>>                 
                                              <id>glassfish-undeploy</id>
>>>>                 
                                              <phase>post-integration-test</phase>
>>>>                 
                                              <goals>
>>>>                    
                                              <goal>undeploy</goal>
>>>>                 
                                              </goals>
>>>>              
                                              </execution>
>>>>              
                                              <execution>
>>>>                 
                                              <id>stop-glassfish</id>
>>>>                 
                                              <phase>post-integration-test</phase>
>>>>                 
                                              <goals>
>>>>                    
                                              <goal>stop</goal>
>>>>                 
                                              </goals>
>>>>              
                                              </execution>
>>>>           
                                              </executions>
>>>>          </plugin> 
>>>>
>>>>
>>>>This configuration works just fine in the version 3.0.
>>>>Important is the option: <instanceRoot>
>>>>
>>>>
>>>>In the Version 3.1 I am getting a strange error:
>>>>  15.02.2012 11:30:48 com.sun.enterprise.v3.server.DomainXmlPersistence getPidFile
>>>>
>>>>ERROR: Cannot obtain
                                              lockfile location
                                              T:\workspace2\web-app\
>>>>target\glassfish\config\lockfile,

                                              configuration changes will
                                              not be persisted
>>>>java.io.IOException: The
                                              System cannot find the
                                              specied path.
>>>>        at
                                              java.io.WinNTFileSystem.createFileExclusively(Native
                                              Method)
>>>>        at
                                              java.io.File.createNewFile(File.java:883)
>>>>        at
                                              com.sun.enterprise.v3.server.DomainXmlPersistence.getPidFile(DomainXm
>>>>lPersistence.java:92)
>>>>        at
                                              com.sun.enterprise.v3.server.DomainXmlPersistence.accessRead(DomainXm
>>>>lPersistence.java:114)
>>>>        at
                                              org.glassfish.config.support.DomainXml.parseDomainXml(DomainXml.java:
>>>>210)
>>>>
>>>>  ...
>>>>
>>>>
>>>>In the version 3.0 the directory structure will be created by the plugin, in the version 3.1 not any more and then I get this errors.
>>>>Something change in the new version or it is a bug ?
>>>>
>>>>
>>>>
>>>>
>>>> Thanks,
>>>>  Vasile.
>>>>
>>>> 
>>>>
>>>
>>>
>>
>>
>
>