Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Mihir Chhaya
Thanks, Christos. That is not the case though; we have Java 7 JDE from IDE
to Application server.

On Wed, Nov 18, 2015 at 12:43 PM, Christos Stieglitz 
wrote:

> Just in case:
> i recently had exactly the same problem. It turned out that it is not
> related to Wicket at all.
>
> Do you use a Java8 JDK? Do you compile for Java7?
>
> The PermGen Exception happens at random times [*], always at the same
> line in the code. Hence you assume you have some faulty code there.
> But it is a JDK 8 -> 7 compatibility mode issue, not Wicket.
> Before losing lots of hours (like i did) just check the settings of your
> IDE.
>
> [*] under Windows 64bit twice as often as under Linux.
>
> HTH
>
> Christos
>
>
>
>
> Am Wednesday, den 18.11.2015, 11:56 -0500 schrieb Mihir Chhaya:
> > Martin, Yes. I am using Wicket 7.00.
> >
> > On Wed, Nov 18, 2015 at 11:55 AM, Mihir Chhaya 
> > wrote:
> >
> > > First, Thanks Francois for your quick looking into this.
> > >
> > > The SearchDealerPage is created as below. The link is menu option.
> > >
> > > BookmarkablePageLink dealerInquiryLink = new
> > > BookmarkablePageLink("dealerInquiryLink",
> SearchDealerPage.class,
> > > searchPageParameters);
> > >
> > >
> > > Thanks,
> > >
> > > -Mihir.
> > >
> > >
> > > On Wed, Nov 18, 2015 at 11:50 AM, Francois Meillet <
> > > francois.meil...@gmail.com> wrote:
> > >
> > >> Sorry, it's seems that there is a problem when you instanciate the
> > >> SearchDealerPage instance
> > >>
> > >> How you instanciate it ?
> > >>
> > >> François
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> Le 18 nov. 2015 à 17:46, Mihir Chhaya  a
> écrit :
> > >>
> > >> > Following are AbcUserSearchTO and AbcUser classes with DomainObject
> > >> > implementation.
> > >> >
> > >> > public interface DomainObject extends Serializable {
> > >> >
> > >> >Long getId();
> > >> > }
> > >> >
> > >> > public class AbcUserSearchTO implements DomainObject {
> > >> >
> > >> > /**
> > >> > *
> > >> > */
> > >> > private static final long serialVersionUID = 1L;
> > >> >
> > >> > /* (non-Javadoc)
> > >> > * @see gov.fdle.fpp.domain.DomainObject#getId()
> > >> > */
> > >> > @Override
> > >> > public Long getId() {
> > >> > return null;
> > >> > }
> > >> > private String searchName;
> > >> > private String searchDealer;
> > >> >
> > >> > /**
> > >> > * @return the lastName
> > >> > */
> > >> > public String getSearchName() {
> > >> > return searchName;
> > >> > }
> > >> >
> > >> > /**
> > >> > * @param name the lastName to set
> > >> > */
> > >> > public void setSearchName(String name) {
> > >> >if (name == null){
> > >> >name = FppConstants.EMPTY_STRING;
> > >> >}
> > >> > this.searchName = name;
> > >> > }
> > >> >
> > >> > /**
> > >> > * @return the searchDealer
> > >> > */
> > >> > public String getSearchDealer() {
> > >> > return searchDealer;
> > >> > }
> > >> >
> > >> > /**
> > >> > * @param searchDealer the searchDealer to set
> > >> > */
> > >> > public void setSearchDealer(String searchDealer) {
> > >> > this.searchDealer = searchDealer;
> > >> > }
> > >> > }
> > >> >
> > >> >
> > >> > public class AbcUser implements DomainObject {
> > >> >
> > >> > private static final long serialVersionUID = 1L;
> > >> > public Long getId() {
> > >> >return null;
> > >> >}
> > >> >
> > >> > //ASM fields
> > >> >private long userNbr;
> > >> >private String userName;
> > >> >private String password;
> > >> >private String firstName;
> > >> >private String lastName;
> > >> > ...setter
> > >> > getter
> > >> >
> > >> > }
> > >> >
> > >> > On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet <
> > >> > francois.meil...@gmail.com> wrote:
> > >> >
> > >> >> and the abcUserSearchTO ?
> > >> >>
> > >> >>
> > >> >> François
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >> Le 18 nov. 2015 à 17:40, Mihir Chhaya  a
> > >> écrit :
> > >> >>
> > >> >>> Here is SearchDealerPage.
> > >> >>>
> > >> >>> package gov.xyz.abc.view.asm;
> > >> >>>
> > >> >>> import gov.xyz.abc.business.AsmAdminService;
> > >> >>> import gov.xyz.abc.common.AppSession;
> > >> >>> import gov.xyz.abc.common.AuthenticatedPage;
> > >> >>> import gov.xyz.abc.common.DealerDetails;
> > >> >>> import gov.xyz.abc.common.abcException;
> > >> >>> import gov.xyz.abc.model.abcUser;
> > >> >>> import gov.xyz.abc.model.abcUserSearchTO;
> > >> >>> import gov.xyz.abc.util.DefaultFocusBehavior;
> > >> >>> import gov.xyz.abc.util.abcConstants;
> > >> >>> import gov.xyz.abc.util.abcErrConstant;
> > >> >>> import gov.xyz.abc.util.abcUtils;
> > >> >>> import gov.xyz.wktcommon.components.ErroringTextField;
> > >> >>>
> > >> >>> import org.apache.commons.lang3.StringUtils;
> > >> >>> import org.apache.wicket.ajax.AjaxRequestTarget;
> > >> >>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> > >> >>> import org.apache.wicket.markup.html.basic.Label;
> > >> >>> import org.apache.wicket.markup.html.form.Form;
> > >> >>> import o

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Christos Stieglitz
Just in case:
i recently had exactly the same problem. It turned out that it is not
related to Wicket at all.

Do you use a Java8 JDK? Do you compile for Java7?

The PermGen Exception happens at random times [*], always at the same
line in the code. Hence you assume you have some faulty code there.
But it is a JDK 8 -> 7 compatibility mode issue, not Wicket. 
Before losing lots of hours (like i did) just check the settings of your
IDE.

[*] under Windows 64bit twice as often as under Linux.

HTH

Christos




Am Wednesday, den 18.11.2015, 11:56 -0500 schrieb Mihir Chhaya: 
> Martin, Yes. I am using Wicket 7.00.
> 
> On Wed, Nov 18, 2015 at 11:55 AM, Mihir Chhaya 
> wrote:
> 
> > First, Thanks Francois for your quick looking into this.
> >
> > The SearchDealerPage is created as below. The link is menu option.
> >
> > BookmarkablePageLink dealerInquiryLink = new
> > BookmarkablePageLink("dealerInquiryLink", SearchDealerPage.class,
> > searchPageParameters);
> >
> >
> > Thanks,
> >
> > -Mihir.
> >
> >
> > On Wed, Nov 18, 2015 at 11:50 AM, Francois Meillet <
> > francois.meil...@gmail.com> wrote:
> >
> >> Sorry, it's seems that there is a problem when you instanciate the
> >> SearchDealerPage instance
> >>
> >> How you instanciate it ?
> >>
> >> François
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Le 18 nov. 2015 à 17:46, Mihir Chhaya  a écrit :
> >>
> >> > Following are AbcUserSearchTO and AbcUser classes with DomainObject
> >> > implementation.
> >> >
> >> > public interface DomainObject extends Serializable {
> >> >
> >> >Long getId();
> >> > }
> >> >
> >> > public class AbcUserSearchTO implements DomainObject {
> >> >
> >> > /**
> >> > *
> >> > */
> >> > private static final long serialVersionUID = 1L;
> >> >
> >> > /* (non-Javadoc)
> >> > * @see gov.fdle.fpp.domain.DomainObject#getId()
> >> > */
> >> > @Override
> >> > public Long getId() {
> >> > return null;
> >> > }
> >> > private String searchName;
> >> > private String searchDealer;
> >> >
> >> > /**
> >> > * @return the lastName
> >> > */
> >> > public String getSearchName() {
> >> > return searchName;
> >> > }
> >> >
> >> > /**
> >> > * @param name the lastName to set
> >> > */
> >> > public void setSearchName(String name) {
> >> >if (name == null){
> >> >name = FppConstants.EMPTY_STRING;
> >> >}
> >> > this.searchName = name;
> >> > }
> >> >
> >> > /**
> >> > * @return the searchDealer
> >> > */
> >> > public String getSearchDealer() {
> >> > return searchDealer;
> >> > }
> >> >
> >> > /**
> >> > * @param searchDealer the searchDealer to set
> >> > */
> >> > public void setSearchDealer(String searchDealer) {
> >> > this.searchDealer = searchDealer;
> >> > }
> >> > }
> >> >
> >> >
> >> > public class AbcUser implements DomainObject {
> >> >
> >> > private static final long serialVersionUID = 1L;
> >> > public Long getId() {
> >> >return null;
> >> >}
> >> >
> >> > //ASM fields
> >> >private long userNbr;
> >> >private String userName;
> >> >private String password;
> >> >private String firstName;
> >> >private String lastName;
> >> > ...setter
> >> > getter
> >> >
> >> > }
> >> >
> >> > On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet <
> >> > francois.meil...@gmail.com> wrote:
> >> >
> >> >> and the abcUserSearchTO ?
> >> >>
> >> >>
> >> >> François
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> Le 18 nov. 2015 à 17:40, Mihir Chhaya  a
> >> écrit :
> >> >>
> >> >>> Here is SearchDealerPage.
> >> >>>
> >> >>> package gov.xyz.abc.view.asm;
> >> >>>
> >> >>> import gov.xyz.abc.business.AsmAdminService;
> >> >>> import gov.xyz.abc.common.AppSession;
> >> >>> import gov.xyz.abc.common.AuthenticatedPage;
> >> >>> import gov.xyz.abc.common.DealerDetails;
> >> >>> import gov.xyz.abc.common.abcException;
> >> >>> import gov.xyz.abc.model.abcUser;
> >> >>> import gov.xyz.abc.model.abcUserSearchTO;
> >> >>> import gov.xyz.abc.util.DefaultFocusBehavior;
> >> >>> import gov.xyz.abc.util.abcConstants;
> >> >>> import gov.xyz.abc.util.abcErrConstant;
> >> >>> import gov.xyz.abc.util.abcUtils;
> >> >>> import gov.xyz.wktcommon.components.ErroringTextField;
> >> >>>
> >> >>> import org.apache.commons.lang3.StringUtils;
> >> >>> import org.apache.wicket.ajax.AjaxRequestTarget;
> >> >>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> >> >>> import org.apache.wicket.markup.html.basic.Label;
> >> >>> import org.apache.wicket.markup.html.form.Form;
> >> >>> import org.apache.wicket.model.CompoundPropertyModel;
> >> >>> import org.apache.wicket.model.Model;
> >> >>> import org.apache.wicket.request.mapper.parameter.PageParameters;
> >> >>> import org.apache.wicket.spring.injection.annot.SpringBean;
> >> >>> import org.apache.wicket.validation.validator.StringValidator;
> >> >>>
> >> >>>
> >> >>> /**
> >> >>> * Search Dealer Page.
> >> >>> *
> >> >>> * @author Pavankumar Appana
> >> >>> * @since 08/05/2011
> >> >>> */
> >> >>> public class SearchDealerPage extends

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Mihir Chhaya
Martin, Yes. I am using Wicket 7.00.

On Wed, Nov 18, 2015 at 11:55 AM, Mihir Chhaya 
wrote:

> First, Thanks Francois for your quick looking into this.
>
> The SearchDealerPage is created as below. The link is menu option.
>
> BookmarkablePageLink dealerInquiryLink = new
> BookmarkablePageLink("dealerInquiryLink", SearchDealerPage.class,
> searchPageParameters);
>
>
> Thanks,
>
> -Mihir.
>
>
> On Wed, Nov 18, 2015 at 11:50 AM, Francois Meillet <
> francois.meil...@gmail.com> wrote:
>
>> Sorry, it's seems that there is a problem when you instanciate the
>> SearchDealerPage instance
>>
>> How you instanciate it ?
>>
>> François
>>
>>
>>
>>
>>
>>
>>
>>
>> Le 18 nov. 2015 à 17:46, Mihir Chhaya  a écrit :
>>
>> > Following are AbcUserSearchTO and AbcUser classes with DomainObject
>> > implementation.
>> >
>> > public interface DomainObject extends Serializable {
>> >
>> >Long getId();
>> > }
>> >
>> > public class AbcUserSearchTO implements DomainObject {
>> >
>> > /**
>> > *
>> > */
>> > private static final long serialVersionUID = 1L;
>> >
>> > /* (non-Javadoc)
>> > * @see gov.fdle.fpp.domain.DomainObject#getId()
>> > */
>> > @Override
>> > public Long getId() {
>> > return null;
>> > }
>> > private String searchName;
>> > private String searchDealer;
>> >
>> > /**
>> > * @return the lastName
>> > */
>> > public String getSearchName() {
>> > return searchName;
>> > }
>> >
>> > /**
>> > * @param name the lastName to set
>> > */
>> > public void setSearchName(String name) {
>> >if (name == null){
>> >name = FppConstants.EMPTY_STRING;
>> >}
>> > this.searchName = name;
>> > }
>> >
>> > /**
>> > * @return the searchDealer
>> > */
>> > public String getSearchDealer() {
>> > return searchDealer;
>> > }
>> >
>> > /**
>> > * @param searchDealer the searchDealer to set
>> > */
>> > public void setSearchDealer(String searchDealer) {
>> > this.searchDealer = searchDealer;
>> > }
>> > }
>> >
>> >
>> > public class AbcUser implements DomainObject {
>> >
>> > private static final long serialVersionUID = 1L;
>> > public Long getId() {
>> >return null;
>> >}
>> >
>> > //ASM fields
>> >private long userNbr;
>> >private String userName;
>> >private String password;
>> >private String firstName;
>> >private String lastName;
>> > ...setter
>> > getter
>> >
>> > }
>> >
>> > On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet <
>> > francois.meil...@gmail.com> wrote:
>> >
>> >> and the abcUserSearchTO ?
>> >>
>> >>
>> >> François
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> Le 18 nov. 2015 à 17:40, Mihir Chhaya  a
>> écrit :
>> >>
>> >>> Here is SearchDealerPage.
>> >>>
>> >>> package gov.xyz.abc.view.asm;
>> >>>
>> >>> import gov.xyz.abc.business.AsmAdminService;
>> >>> import gov.xyz.abc.common.AppSession;
>> >>> import gov.xyz.abc.common.AuthenticatedPage;
>> >>> import gov.xyz.abc.common.DealerDetails;
>> >>> import gov.xyz.abc.common.abcException;
>> >>> import gov.xyz.abc.model.abcUser;
>> >>> import gov.xyz.abc.model.abcUserSearchTO;
>> >>> import gov.xyz.abc.util.DefaultFocusBehavior;
>> >>> import gov.xyz.abc.util.abcConstants;
>> >>> import gov.xyz.abc.util.abcErrConstant;
>> >>> import gov.xyz.abc.util.abcUtils;
>> >>> import gov.xyz.wktcommon.components.ErroringTextField;
>> >>>
>> >>> import org.apache.commons.lang3.StringUtils;
>> >>> import org.apache.wicket.ajax.AjaxRequestTarget;
>> >>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
>> >>> import org.apache.wicket.markup.html.basic.Label;
>> >>> import org.apache.wicket.markup.html.form.Form;
>> >>> import org.apache.wicket.model.CompoundPropertyModel;
>> >>> import org.apache.wicket.model.Model;
>> >>> import org.apache.wicket.request.mapper.parameter.PageParameters;
>> >>> import org.apache.wicket.spring.injection.annot.SpringBean;
>> >>> import org.apache.wicket.validation.validator.StringValidator;
>> >>>
>> >>>
>> >>> /**
>> >>> * Search Dealer Page.
>> >>> *
>> >>> * @author Pavankumar Appana
>> >>> * @since 08/05/2011
>> >>> */
>> >>> public class SearchDealerPage extends AuthenticatedPage {
>> >>>
>> >>>   /**
>> >>>*
>> >>>*/
>> >>>   private static final long serialVersionUID = 1L;
>> >>>   @SpringBean
>> >>>   private AsmAdminService adminService;
>> >>>   private AbcUserSearchTO abcUserSearch;
>> >>>   private AbcUser abcUser = null;
>> >>>
>> >>>   //callingFromWhichScreen flag is to indicate whether this screen is
>> >>> called for dealer information or dealer update.
>> >>>   //Set callingFromWhichScreen to "update" for dealer update, "search"
>> >>> for dealer information while calling.
>> >>>   public SearchDealerPage(PageParameters pageParameters) {
>> >>>   final String callingFromWhichScreen =
>> >>> pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString();
>> >>>
>> >>>   abcUserSearch = new abcUserSearchTO();
>> >>>
>> >>>   //Search Form
>> >>>   final Form searchForm =
>> >>>   new Form("searchForm", new
>> >>

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Mihir Chhaya
First, Thanks Francois for your quick looking into this.

The SearchDealerPage is created as below. The link is menu option.

BookmarkablePageLink dealerInquiryLink = new
BookmarkablePageLink("dealerInquiryLink", SearchDealerPage.class,
searchPageParameters);


Thanks,

-Mihir.


On Wed, Nov 18, 2015 at 11:50 AM, Francois Meillet <
francois.meil...@gmail.com> wrote:

> Sorry, it's seems that there is a problem when you instanciate the
> SearchDealerPage instance
>
> How you instanciate it ?
>
> François
>
>
>
>
>
>
>
>
> Le 18 nov. 2015 à 17:46, Mihir Chhaya  a écrit :
>
> > Following are AbcUserSearchTO and AbcUser classes with DomainObject
> > implementation.
> >
> > public interface DomainObject extends Serializable {
> >
> >Long getId();
> > }
> >
> > public class AbcUserSearchTO implements DomainObject {
> >
> > /**
> > *
> > */
> > private static final long serialVersionUID = 1L;
> >
> > /* (non-Javadoc)
> > * @see gov.fdle.fpp.domain.DomainObject#getId()
> > */
> > @Override
> > public Long getId() {
> > return null;
> > }
> > private String searchName;
> > private String searchDealer;
> >
> > /**
> > * @return the lastName
> > */
> > public String getSearchName() {
> > return searchName;
> > }
> >
> > /**
> > * @param name the lastName to set
> > */
> > public void setSearchName(String name) {
> >if (name == null){
> >name = FppConstants.EMPTY_STRING;
> >}
> > this.searchName = name;
> > }
> >
> > /**
> > * @return the searchDealer
> > */
> > public String getSearchDealer() {
> > return searchDealer;
> > }
> >
> > /**
> > * @param searchDealer the searchDealer to set
> > */
> > public void setSearchDealer(String searchDealer) {
> > this.searchDealer = searchDealer;
> > }
> > }
> >
> >
> > public class AbcUser implements DomainObject {
> >
> > private static final long serialVersionUID = 1L;
> > public Long getId() {
> >return null;
> >}
> >
> > //ASM fields
> >private long userNbr;
> >private String userName;
> >private String password;
> >private String firstName;
> >private String lastName;
> > ...setter
> > getter
> >
> > }
> >
> > On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet <
> > francois.meil...@gmail.com> wrote:
> >
> >> and the abcUserSearchTO ?
> >>
> >>
> >> François
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Le 18 nov. 2015 à 17:40, Mihir Chhaya  a écrit
> :
> >>
> >>> Here is SearchDealerPage.
> >>>
> >>> package gov.xyz.abc.view.asm;
> >>>
> >>> import gov.xyz.abc.business.AsmAdminService;
> >>> import gov.xyz.abc.common.AppSession;
> >>> import gov.xyz.abc.common.AuthenticatedPage;
> >>> import gov.xyz.abc.common.DealerDetails;
> >>> import gov.xyz.abc.common.abcException;
> >>> import gov.xyz.abc.model.abcUser;
> >>> import gov.xyz.abc.model.abcUserSearchTO;
> >>> import gov.xyz.abc.util.DefaultFocusBehavior;
> >>> import gov.xyz.abc.util.abcConstants;
> >>> import gov.xyz.abc.util.abcErrConstant;
> >>> import gov.xyz.abc.util.abcUtils;
> >>> import gov.xyz.wktcommon.components.ErroringTextField;
> >>>
> >>> import org.apache.commons.lang3.StringUtils;
> >>> import org.apache.wicket.ajax.AjaxRequestTarget;
> >>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> >>> import org.apache.wicket.markup.html.basic.Label;
> >>> import org.apache.wicket.markup.html.form.Form;
> >>> import org.apache.wicket.model.CompoundPropertyModel;
> >>> import org.apache.wicket.model.Model;
> >>> import org.apache.wicket.request.mapper.parameter.PageParameters;
> >>> import org.apache.wicket.spring.injection.annot.SpringBean;
> >>> import org.apache.wicket.validation.validator.StringValidator;
> >>>
> >>>
> >>> /**
> >>> * Search Dealer Page.
> >>> *
> >>> * @author Pavankumar Appana
> >>> * @since 08/05/2011
> >>> */
> >>> public class SearchDealerPage extends AuthenticatedPage {
> >>>
> >>>   /**
> >>>*
> >>>*/
> >>>   private static final long serialVersionUID = 1L;
> >>>   @SpringBean
> >>>   private AsmAdminService adminService;
> >>>   private AbcUserSearchTO abcUserSearch;
> >>>   private AbcUser abcUser = null;
> >>>
> >>>   //callingFromWhichScreen flag is to indicate whether this screen is
> >>> called for dealer information or dealer update.
> >>>   //Set callingFromWhichScreen to "update" for dealer update, "search"
> >>> for dealer information while calling.
> >>>   public SearchDealerPage(PageParameters pageParameters) {
> >>>   final String callingFromWhichScreen =
> >>> pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString();
> >>>
> >>>   abcUserSearch = new abcUserSearchTO();
> >>>
> >>>   //Search Form
> >>>   final Form searchForm =
> >>>   new Form("searchForm", new
> >>> CompoundPropertyModel(abcUserSearch));
> >>>   searchForm.setOutputMarkupId(true);
> >>>   searchForm.setMarkupId("searchFormId");
> >>>   add(searchForm);
> >>>   final Label pagetitle = new Label("pageTitle", new
> >> Model());
> >>>
> >>>   if (abcConstants.UPDATE_

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Martin Grigorov
Hi,

Do you use 7.0.0?
Because there was a problem -
https://issues.apache.org/jira/browse/WICKET-5978
It is fixed in 7.1.0

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Nov 18, 2015 at 5:25 PM, Mihir Chhaya 
wrote:

> Hello,
>
> I am using Wicket 7 + Spring 4.x + Hibernate 4.x (recently migrated from
> Wicket 1.4).
>
> Since deployment of the app on JBOSS, the application is crashing with
> OutOfMemory error for PermGen. We are at the point of rolling back to 1.4
> as application was working fine without such issue; doesn't necessarily
> mean Wicket 7 is an issue. There is OutOfMemory error reported with
> Wicket+Spring for Wicket 6.20, but the issue status shows fixed.
>
> JBOSS application server PermGen is 512MB, so doesn't seem that be an
> issue.
>
> Here is the stacktrace (First and Second). Second seems to be the result of
> First one.
>
> Could anybody shade some light? I ran with some load on my local (tomcat as
> well as on JBOSS) and monitored using VisualVM. PermGen is remaining
> between 20 and 100 MB.
>
>
> First
> =
> 16:29:19,808 ERROR
>
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/fes].[default]]
> (http-/162.143.93.98:8543-34) JBWEB000236: Servlet.service() for servlet
> default threw exception: java.lang.OutOfMemoryError: PermGen space
> at sun.misc.Unsafe.defineClass(Native Method) [rt.jar:1.7.0_75]
> at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396)
> [rt.jar:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method)
> [rt.jar:1.7.0_75]
> at
>
> sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395)
> [rt.jar:1.7.0_75]
> at
>
> sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:113)
> [rt.jar:1.7.0_75]
> at
>
> sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:331)
> [rt.jar:1.7.0_75]
> at
>
> java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1376)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:72)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:493)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:468)
> [rt.jar:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass.(ObjectStreamClass.java:468)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1133)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
> [rt.jar:1.7.0_75]
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1377)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
> [rt.jar:1.7.0_75]
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
> [rt.jar:1.7.0_75]
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
> [rt.jar:1.7.0_75]
> at
>
> org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:260)
> [wicket-core-7.0.0.jar:7.0.0]
>
>
> Second:
> ===
> 16:24:22,674 ERROR [org.apache.wicket.DefaultExceptionMapper]
> (http-/162.143.93.97:8543-14) Unexpected error occurred:
> org.apache.wicket.WicketRuntimeException: Can't instantiate page using
> constructor 'public
>
> gov.xyz.abc.view.asm.SearchDealerPage(org.apache.wicket.request.mapper.parameter.PageParameters)'
> and argument 'callingFromWhichScreen=[search]'. An exception has been
> thrown during construction!
> at
>
> org.apache.wicket.

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Francois Meillet
Sorry, it's seems that there is a problem when you instanciate the 
SearchDealerPage instance

How you instanciate it ?

François  








Le 18 nov. 2015 à 17:46, Mihir Chhaya  a écrit :

> Following are AbcUserSearchTO and AbcUser classes with DomainObject
> implementation.
> 
> public interface DomainObject extends Serializable {
> 
>Long getId();
> }
> 
> public class AbcUserSearchTO implements DomainObject {
> 
> /**
> *
> */
> private static final long serialVersionUID = 1L;
> 
> /* (non-Javadoc)
> * @see gov.fdle.fpp.domain.DomainObject#getId()
> */
> @Override
> public Long getId() {
> return null;
> }
> private String searchName;
> private String searchDealer;
> 
> /**
> * @return the lastName
> */
> public String getSearchName() {
> return searchName;
> }
> 
> /**
> * @param name the lastName to set
> */
> public void setSearchName(String name) {
>if (name == null){
>name = FppConstants.EMPTY_STRING;
>}
> this.searchName = name;
> }
> 
> /**
> * @return the searchDealer
> */
> public String getSearchDealer() {
> return searchDealer;
> }
> 
> /**
> * @param searchDealer the searchDealer to set
> */
> public void setSearchDealer(String searchDealer) {
> this.searchDealer = searchDealer;
> }
> }
> 
> 
> public class AbcUser implements DomainObject {
> 
> private static final long serialVersionUID = 1L;
> public Long getId() {
>return null;
>}
> 
> //ASM fields
>private long userNbr;
>private String userName;
>private String password;
>private String firstName;
>private String lastName;
> ...setter
> getter
> 
> }
> 
> On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet <
> francois.meil...@gmail.com> wrote:
> 
>> and the abcUserSearchTO ?
>> 
>> 
>> François
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Le 18 nov. 2015 à 17:40, Mihir Chhaya  a écrit :
>> 
>>> Here is SearchDealerPage.
>>> 
>>> package gov.xyz.abc.view.asm;
>>> 
>>> import gov.xyz.abc.business.AsmAdminService;
>>> import gov.xyz.abc.common.AppSession;
>>> import gov.xyz.abc.common.AuthenticatedPage;
>>> import gov.xyz.abc.common.DealerDetails;
>>> import gov.xyz.abc.common.abcException;
>>> import gov.xyz.abc.model.abcUser;
>>> import gov.xyz.abc.model.abcUserSearchTO;
>>> import gov.xyz.abc.util.DefaultFocusBehavior;
>>> import gov.xyz.abc.util.abcConstants;
>>> import gov.xyz.abc.util.abcErrConstant;
>>> import gov.xyz.abc.util.abcUtils;
>>> import gov.xyz.wktcommon.components.ErroringTextField;
>>> 
>>> import org.apache.commons.lang3.StringUtils;
>>> import org.apache.wicket.ajax.AjaxRequestTarget;
>>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
>>> import org.apache.wicket.markup.html.basic.Label;
>>> import org.apache.wicket.markup.html.form.Form;
>>> import org.apache.wicket.model.CompoundPropertyModel;
>>> import org.apache.wicket.model.Model;
>>> import org.apache.wicket.request.mapper.parameter.PageParameters;
>>> import org.apache.wicket.spring.injection.annot.SpringBean;
>>> import org.apache.wicket.validation.validator.StringValidator;
>>> 
>>> 
>>> /**
>>> * Search Dealer Page.
>>> *
>>> * @author Pavankumar Appana
>>> * @since 08/05/2011
>>> */
>>> public class SearchDealerPage extends AuthenticatedPage {
>>> 
>>>   /**
>>>*
>>>*/
>>>   private static final long serialVersionUID = 1L;
>>>   @SpringBean
>>>   private AsmAdminService adminService;
>>>   private AbcUserSearchTO abcUserSearch;
>>>   private AbcUser abcUser = null;
>>> 
>>>   //callingFromWhichScreen flag is to indicate whether this screen is
>>> called for dealer information or dealer update.
>>>   //Set callingFromWhichScreen to "update" for dealer update, "search"
>>> for dealer information while calling.
>>>   public SearchDealerPage(PageParameters pageParameters) {
>>>   final String callingFromWhichScreen =
>>> pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString();
>>> 
>>>   abcUserSearch = new abcUserSearchTO();
>>> 
>>>   //Search Form
>>>   final Form searchForm =
>>>   new Form("searchForm", new
>>> CompoundPropertyModel(abcUserSearch));
>>>   searchForm.setOutputMarkupId(true);
>>>   searchForm.setMarkupId("searchFormId");
>>>   add(searchForm);
>>>   final Label pagetitle = new Label("pageTitle", new
>> Model());
>>> 
>>>   if (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) {
>>>   pagetitle.setDefaultModelObject("Search Dealer");
>>> 
>>>   } else if
>>> (abcConstants.SEARCH_SCREEN.equals(callingFromWhichScreen)) {
>>>   pagetitle.setDefaultModelObject("Dealer Inquiry");
>>>   }
>>> 
>>>   add(pagetitle);
>>> 
>>>   final ErroringTextField dealerIDFld = new
>>> ErroringTextField("searchDealer");
>>>   dealerIDFld.setOutputMarkupId(true);
>>>   dealerIDFld.setMarkupId("searchDealer");
>>>   dealerIDFld.setRequired(true);
>>>   dealerIDFld.add(StringValidator.minimumLength(2));
>>>   dealerIDFld.add(new DefaultFocusBehavior());
>>> 
>>>   if 

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Mihir Chhaya
Following are AbcUserSearchTO and AbcUser classes with DomainObject
implementation.

public interface DomainObject extends Serializable {

Long getId();
}

public class AbcUserSearchTO implements DomainObject {

/**
*
*/
private static final long serialVersionUID = 1L;

/* (non-Javadoc)
* @see gov.fdle.fpp.domain.DomainObject#getId()
*/
@Override
public Long getId() {
return null;
}
private String searchName;
private String searchDealer;

/**
* @return the lastName
*/
public String getSearchName() {
return searchName;
}

/**
* @param name the lastName to set
*/
public void setSearchName(String name) {
if (name == null){
name = FppConstants.EMPTY_STRING;
}
this.searchName = name;
}

/**
* @return the searchDealer
*/
public String getSearchDealer() {
return searchDealer;
}

/**
* @param searchDealer the searchDealer to set
*/
public void setSearchDealer(String searchDealer) {
this.searchDealer = searchDealer;
}
}


public class AbcUser implements DomainObject {

private static final long serialVersionUID = 1L;
public Long getId() {
return null;
}

//ASM fields
private long userNbr;
private String userName;
private String password;
private String firstName;
private String lastName;
...setter
getter

}

On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet <
francois.meil...@gmail.com> wrote:

> and the abcUserSearchTO ?
>
>
> François
>
>
>
>
>
>
>
>
> Le 18 nov. 2015 à 17:40, Mihir Chhaya  a écrit :
>
> > Here is SearchDealerPage.
> >
> > package gov.xyz.abc.view.asm;
> >
> > import gov.xyz.abc.business.AsmAdminService;
> > import gov.xyz.abc.common.AppSession;
> > import gov.xyz.abc.common.AuthenticatedPage;
> > import gov.xyz.abc.common.DealerDetails;
> > import gov.xyz.abc.common.abcException;
> > import gov.xyz.abc.model.abcUser;
> > import gov.xyz.abc.model.abcUserSearchTO;
> > import gov.xyz.abc.util.DefaultFocusBehavior;
> > import gov.xyz.abc.util.abcConstants;
> > import gov.xyz.abc.util.abcErrConstant;
> > import gov.xyz.abc.util.abcUtils;
> > import gov.xyz.wktcommon.components.ErroringTextField;
> >
> > import org.apache.commons.lang3.StringUtils;
> > import org.apache.wicket.ajax.AjaxRequestTarget;
> > import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> > import org.apache.wicket.markup.html.basic.Label;
> > import org.apache.wicket.markup.html.form.Form;
> > import org.apache.wicket.model.CompoundPropertyModel;
> > import org.apache.wicket.model.Model;
> > import org.apache.wicket.request.mapper.parameter.PageParameters;
> > import org.apache.wicket.spring.injection.annot.SpringBean;
> > import org.apache.wicket.validation.validator.StringValidator;
> >
> >
> > /**
> > * Search Dealer Page.
> > *
> > * @author Pavankumar Appana
> > * @since 08/05/2011
> > */
> > public class SearchDealerPage extends AuthenticatedPage {
> >
> >/**
> > *
> > */
> >private static final long serialVersionUID = 1L;
> >@SpringBean
> >private AsmAdminService adminService;
> >private AbcUserSearchTO abcUserSearch;
> >private AbcUser abcUser = null;
> >
> >//callingFromWhichScreen flag is to indicate whether this screen is
> > called for dealer information or dealer update.
> >//Set callingFromWhichScreen to "update" for dealer update, "search"
> > for dealer information while calling.
> >public SearchDealerPage(PageParameters pageParameters) {
> >final String callingFromWhichScreen =
> > pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString();
> >
> >abcUserSearch = new abcUserSearchTO();
> >
> >//Search Form
> >final Form searchForm =
> >new Form("searchForm", new
> > CompoundPropertyModel(abcUserSearch));
> >searchForm.setOutputMarkupId(true);
> >searchForm.setMarkupId("searchFormId");
> >add(searchForm);
> >final Label pagetitle = new Label("pageTitle", new
> Model());
> >
> >if (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) {
> >pagetitle.setDefaultModelObject("Search Dealer");
> >
> >} else if
> > (abcConstants.SEARCH_SCREEN.equals(callingFromWhichScreen)) {
> >pagetitle.setDefaultModelObject("Dealer Inquiry");
> >}
> >
> >add(pagetitle);
> >
> >final ErroringTextField dealerIDFld = new
> > ErroringTextField("searchDealer");
> >dealerIDFld.setOutputMarkupId(true);
> >dealerIDFld.setMarkupId("searchDealer");
> >dealerIDFld.setRequired(true);
> >dealerIDFld.add(StringValidator.minimumLength(2));
> >dealerIDFld.add(new DefaultFocusBehavior());
> >
> >if (dealerIDFld.getSizeInBytes() < 5) {
> >
> >dealerIDFld.add(abcUtils.getIntegerPatternValidator());
> >}
> >
> >searchForm.add(dealerIDFld);
> >
> >
> >final AjaxButton searchSubmitButton = new AjaxButton("search") {
> >private static final long serialVersionUID = 1L;
> >
> >@Overrid

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Francois Meillet
and the abcUserSearchTO ?


François 








Le 18 nov. 2015 à 17:40, Mihir Chhaya  a écrit :

> Here is SearchDealerPage.
> 
> package gov.xyz.abc.view.asm;
> 
> import gov.xyz.abc.business.AsmAdminService;
> import gov.xyz.abc.common.AppSession;
> import gov.xyz.abc.common.AuthenticatedPage;
> import gov.xyz.abc.common.DealerDetails;
> import gov.xyz.abc.common.abcException;
> import gov.xyz.abc.model.abcUser;
> import gov.xyz.abc.model.abcUserSearchTO;
> import gov.xyz.abc.util.DefaultFocusBehavior;
> import gov.xyz.abc.util.abcConstants;
> import gov.xyz.abc.util.abcErrConstant;
> import gov.xyz.abc.util.abcUtils;
> import gov.xyz.wktcommon.components.ErroringTextField;
> 
> import org.apache.commons.lang3.StringUtils;
> import org.apache.wicket.ajax.AjaxRequestTarget;
> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> import org.apache.wicket.markup.html.basic.Label;
> import org.apache.wicket.markup.html.form.Form;
> import org.apache.wicket.model.CompoundPropertyModel;
> import org.apache.wicket.model.Model;
> import org.apache.wicket.request.mapper.parameter.PageParameters;
> import org.apache.wicket.spring.injection.annot.SpringBean;
> import org.apache.wicket.validation.validator.StringValidator;
> 
> 
> /**
> * Search Dealer Page.
> *
> * @author Pavankumar Appana
> * @since 08/05/2011
> */
> public class SearchDealerPage extends AuthenticatedPage {
> 
>/**
> *
> */
>private static final long serialVersionUID = 1L;
>@SpringBean
>private AsmAdminService adminService;
>private AbcUserSearchTO abcUserSearch;
>private AbcUser abcUser = null;
> 
>//callingFromWhichScreen flag is to indicate whether this screen is
> called for dealer information or dealer update.
>//Set callingFromWhichScreen to "update" for dealer update, "search"
> for dealer information while calling.
>public SearchDealerPage(PageParameters pageParameters) {
>final String callingFromWhichScreen =
> pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString();
> 
>abcUserSearch = new abcUserSearchTO();
> 
>//Search Form
>final Form searchForm =
>new Form("searchForm", new
> CompoundPropertyModel(abcUserSearch));
>searchForm.setOutputMarkupId(true);
>searchForm.setMarkupId("searchFormId");
>add(searchForm);
>final Label pagetitle = new Label("pageTitle", new Model());
> 
>if (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) {
>pagetitle.setDefaultModelObject("Search Dealer");
> 
>} else if
> (abcConstants.SEARCH_SCREEN.equals(callingFromWhichScreen)) {
>pagetitle.setDefaultModelObject("Dealer Inquiry");
>}
> 
>add(pagetitle);
> 
>final ErroringTextField dealerIDFld = new
> ErroringTextField("searchDealer");
>dealerIDFld.setOutputMarkupId(true);
>dealerIDFld.setMarkupId("searchDealer");
>dealerIDFld.setRequired(true);
>dealerIDFld.add(StringValidator.minimumLength(2));
>dealerIDFld.add(new DefaultFocusBehavior());
> 
>if (dealerIDFld.getSizeInBytes() < 5) {
> 
>dealerIDFld.add(abcUtils.getIntegerPatternValidator());
>}
> 
>searchForm.add(dealerIDFld);
> 
> 
>final AjaxButton searchSubmitButton = new AjaxButton("search") {
>private static final long serialVersionUID = 1L;
> 
>@Override
>protected void onSubmit(AjaxRequestTarget target, Form form)
> {
>sbpanel.saveState();
>try {
>if (dealerIDFld.getValue().length() > 5) {
>abcUser =
> adminService.getDealerByDealerFFL(dealerIDFld.getInput());
> 
>} else if (abcUserSearch.getSearchDealer() != null &&
> !"".equals(abcUserSearch.getSearchDealer())) {
> 
>abcUser =
> adminService.getDealerByDealerId(StringUtils.leftPad(abcUserSearch.getSearchDealer(),
> 5, '0'));
>//abcUser =
> adminService.getDealerByDealerId(dealerIDFld.getInput());
>}
> 
>if (abcUser == null) {
>if (dealerIDFld.getValue().length() <= 5)
>form.error("Dealer does not exist with entered
> Dealer ID, please search again with different Dealer ID.");
>else
>form.error("Dealer does not exist with entered
> FFL#, please search again with different FFL#.");
>target.add(form);
>} else {
>if
> (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) {
>PageParameters pageParameters = new
> PageParameters();
> 
>pageParameters.set("abcUser", abcUser);
> 
>DealerDetails dealerDetails = new
> DealerDetails();
> 
> dealerDetails.setFflNumber(abcUser.getFflNumber());
> 
> 

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Mihir Chhaya
Here is SearchDealerPage.

package gov.xyz.abc.view.asm;

import gov.xyz.abc.business.AsmAdminService;
import gov.xyz.abc.common.AppSession;
import gov.xyz.abc.common.AuthenticatedPage;
import gov.xyz.abc.common.DealerDetails;
import gov.xyz.abc.common.abcException;
import gov.xyz.abc.model.abcUser;
import gov.xyz.abc.model.abcUserSearchTO;
import gov.xyz.abc.util.DefaultFocusBehavior;
import gov.xyz.abc.util.abcConstants;
import gov.xyz.abc.util.abcErrConstant;
import gov.xyz.abc.util.abcUtils;
import gov.xyz.wktcommon.components.ErroringTextField;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.validation.validator.StringValidator;


/**
 * Search Dealer Page.
 *
 * @author Pavankumar Appana
 * @since 08/05/2011
 */
public class SearchDealerPage extends AuthenticatedPage {

/**
 *
 */
private static final long serialVersionUID = 1L;
@SpringBean
private AsmAdminService adminService;
private AbcUserSearchTO abcUserSearch;
private AbcUser abcUser = null;

//callingFromWhichScreen flag is to indicate whether this screen is
called for dealer information or dealer update.
//Set callingFromWhichScreen to "update" for dealer update, "search"
for dealer information while calling.
public SearchDealerPage(PageParameters pageParameters) {
final String callingFromWhichScreen =
pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString();

abcUserSearch = new abcUserSearchTO();

//Search Form
final Form searchForm =
new Form("searchForm", new
CompoundPropertyModel(abcUserSearch));
searchForm.setOutputMarkupId(true);
searchForm.setMarkupId("searchFormId");
add(searchForm);
final Label pagetitle = new Label("pageTitle", new Model());

if (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) {
pagetitle.setDefaultModelObject("Search Dealer");

} else if
(abcConstants.SEARCH_SCREEN.equals(callingFromWhichScreen)) {
pagetitle.setDefaultModelObject("Dealer Inquiry");
}

add(pagetitle);

final ErroringTextField dealerIDFld = new
ErroringTextField("searchDealer");
dealerIDFld.setOutputMarkupId(true);
dealerIDFld.setMarkupId("searchDealer");
dealerIDFld.setRequired(true);
dealerIDFld.add(StringValidator.minimumLength(2));
dealerIDFld.add(new DefaultFocusBehavior());

if (dealerIDFld.getSizeInBytes() < 5) {

dealerIDFld.add(abcUtils.getIntegerPatternValidator());
}

searchForm.add(dealerIDFld);


final AjaxButton searchSubmitButton = new AjaxButton("search") {
private static final long serialVersionUID = 1L;

@Override
protected void onSubmit(AjaxRequestTarget target, Form form)
{
sbpanel.saveState();
try {
if (dealerIDFld.getValue().length() > 5) {
abcUser =
adminService.getDealerByDealerFFL(dealerIDFld.getInput());

} else if (abcUserSearch.getSearchDealer() != null &&
!"".equals(abcUserSearch.getSearchDealer())) {

abcUser =
adminService.getDealerByDealerId(StringUtils.leftPad(abcUserSearch.getSearchDealer(),
5, '0'));
//abcUser =
adminService.getDealerByDealerId(dealerIDFld.getInput());
}

if (abcUser == null) {
if (dealerIDFld.getValue().length() <= 5)
form.error("Dealer does not exist with entered
Dealer ID, please search again with different Dealer ID.");
else
form.error("Dealer does not exist with entered
FFL#, please search again with different FFL#.");
target.add(form);
} else {
if
(abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) {
PageParameters pageParameters = new
PageParameters();

pageParameters.set("abcUser", abcUser);

DealerDetails dealerDetails = new
DealerDetails();

dealerDetails.setFflNumber(abcUser.getFflNumber());

dealerDetails.setDealerNumber(abcUser.getDealerNumber());
((AppSession)
getSession()).setDealerDetails(dealerDetails);

setResponsePage(new ManageDealerPage(abcUser));

} else if
(abcConstants.SEARCH_SCREEN.equals(callingF

Re: Wicket 7 - OutOfMemory PermGen

2015-11-18 Thread Francois Meillet
Could you show us the SearchDealerPage code

François 








Le 18 nov. 2015 à 17:25, Mihir Chhaya  a écrit :

> Hello,
> 
> I am using Wicket 7 + Spring 4.x + Hibernate 4.x (recently migrated from
> Wicket 1.4).
> 
> Since deployment of the app on JBOSS, the application is crashing with
> OutOfMemory error for PermGen. We are at the point of rolling back to 1.4
> as application was working fine without such issue; doesn't necessarily
> mean Wicket 7 is an issue. There is OutOfMemory error reported with
> Wicket+Spring for Wicket 6.20, but the issue status shows fixed.
> 
> JBOSS application server PermGen is 512MB, so doesn't seem that be an issue.
> 
> Here is the stacktrace (First and Second). Second seems to be the result of
> First one.
> 
> Could anybody shade some light? I ran with some load on my local (tomcat as
> well as on JBOSS) and monitored using VisualVM. PermGen is remaining
> between 20 and 100 MB.
> 
> 
> First
> =
> 16:29:19,808 ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/fes].[default]]
> (http-/162.143.93.98:8543-34) JBWEB000236: Servlet.service() for servlet
> default threw exception: java.lang.OutOfMemoryError: PermGen space
> at sun.misc.Unsafe.defineClass(Native Method) [rt.jar:1.7.0_75]
> at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396)
> [rt.jar:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:113)
> [rt.jar:1.7.0_75]
> at
> sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:331)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1376)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:72)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:493)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:468)
> [rt.jar:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass.(ObjectStreamClass.java:468)
> [rt.jar:1.7.0_75]
> at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1133)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1377)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
> [rt.jar:1.7.0_75]
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
> [rt.jar:1.7.0_75]
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
> [rt.jar:1.7.0_75]
> at
> org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:260)
> [wicket-core-7.0.0.jar:7.0.0]
> 
> 
> Second:
> ===
> 16:24:22,674 ERROR [org.apache.wicket.DefaultExceptionMapper]
> (http-/162.143.93.97:8543-14) Unexpected error occurred:
> org.apache.wicket.WicketRuntimeException: Can't instantiate page using
> constructor 'public
> gov.xyz.abc.view.asm.SearchDealerPage(org.apache.wicket.request.mapper.parameter.PageParameters)'
> and argument 'callingFromWhichScreen=[search]'. An exception has been
> thrown during construction!
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
> [wicket-core-7.0.0.jar:7.0.0]
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(Defau