and the abcUserSearchTO ?
François Le 18 nov. 2015 à 17:40, Mihir Chhaya <mihir.chh...@gmail.com> 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<AbcUserSearchTO> searchForm = > new Form<AbcUserSearchTO>("searchForm", new > CompoundPropertyModel<AbcUserSearchTO>(abcUserSearch)); > searchForm.setOutputMarkupId(true); > searchForm.setMarkupId("searchFormId"); > add(searchForm); > final Label pagetitle = new Label("pageTitle", new Model<String>()); > > 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<String> dealerIDFld = new > ErroringTextField<String>("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(callingFromWhichScreen)) { > setResponsePage(new > DealerInformationPage(abcUser)); > } > } > > } catch (abcException abcException) { > if > (abcException.getMessage().contains(abcErrConstant.INVALID_INPUT) || > abcException.getMessage().contains(abcErrConstant.NONNUMERIC_INPUT)) { > sbpanel.saveError(this, new abcException("Invalid > Dealer ID entered. Only numbers are allowed.")); > } else { > sbpanel.saveError(this, new abcException("Error > when searching Dealer. Make sure you have entered valid dealer Id.")); > } > } > } > > @Override > protected void onError(AjaxRequestTarget target, Form<?> form) { > super.onError(target, form); > target.add(searchForm); > target.add(sbpanel); > } > > }; > searchSubmitButton.setMarkupId("searchBtn"); > searchForm.setDefaultButton(searchSubmitButton); > searchForm.add(searchSubmitButton); > > //Reset Button > searchForm.add(new AjaxButton("searchClear") { > private static final long serialVersionUID = 1L; > > @Override > protected void onSubmit(AjaxRequestTarget target, Form<?> form) > { > sbpanel.saveState(); > > PageParameters pageParameters = new PageParameters(); > pageParameters.set(abcConstants.PARAM_CALLING_SCREEN, > callingFromWhichScreen); > > AbcUserSearchTO AbcUserSearchTO = > searchForm.getModelObject(); > AbcUserSearchTO.setSearchName(""); > > setResponsePage(new SearchDealerPage(pageParameters)); > } > }.setDefaultFormProcessing(false).setMarkupId("srchClearBtn")); > } > } > > On Wed, Nov 18, 2015 at 11:28 AM, Francois Meillet < > francois.meil...@gmail.com> wrote: > >> Could you show us the SearchDealerPage code >> >> François >> >> >> >> >> >> >> >> >> Le 18 nov. 2015 à 17:25, Mihir Chhaya <mihir.chh...@gmail.com> 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.<init>(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(DefaultPageFactory.java:99) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:106) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:271) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:169) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:287) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:329) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:193) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.core.request.handler.RequestSettingRequestHandler.respond(RequestSettingRequestHandler.java:78) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:865) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) >>> [wicket-request-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284) >>> [wicket-core-7.0.0.jar:7.0.0] >>> at >>> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91) >>> at >>> >> org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72) >>> at >>> >> org.jboss.as.web.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:134) >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] >>> at >>> >> org.jboss.as.web.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:99) >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] >>> at org.jboss.as.web.session.JvmRouteValve.invoke(JvmRouteValve.java:92) >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] >>> at org.jboss.as.web.session.LockingValve.invoke(LockingValve.java:64) >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] >>> at >>> >> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] >>> at >>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:880) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >>> >> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:607) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at >> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036) >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] >>> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75] >>> Caused by: java.lang.reflect.InvocationTargetException >>> at sun.reflect.GeneratedConstructorAccessor281.newInstance(Unknown >> Source) >>> [:1.7.0_75] >>> at >>> >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >>> [rt.jar:1.7.0_75] >>> at java.lang.reflect.Constructor.newInstance(Constructor.java:526) >>> [rt.jar:1.7.0_75] >>> at >>> >> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:171) >>> [wicket-core-7.0.0.jar:7.0.0] >>> Thanks, >>> -Mihir. >> >>