[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1583) seam:component intercept uses Seam standard rules by default
by Magnus Heino (JIRA)
seam:component intercept uses Seam standard rules by default
------------------------------------------------------------
Key: JBSEAM-1583
URL: http://jira.jboss.com/jira/browse/JBSEAM-1583
Project: JBoss Seam
Issue Type: Bug
Components: Spring
Affects Versions: 2.0.0.BETA1
Reporter: Magnus Heino
>From spring-seam-2.0.xsd, intercept:
Determines whether Seam interceptors should be wrapped around a bean, by overriding Seam's default rules.
Seldom do you want the seam interceptors wrapped around a sprig singleton. Auto will use choose no
interception for a singleton and use Seam standard rules otherwise.
Looking at the code, I can't find anything about this "no interception for a singleton" default.
This bean
<bean id="processRepository" class="se.lantmateriet.wfl.dataaccess.WsProcessRepository">
<constructor-arg value="http://localhost/avtal/avtalservice.asmx"/>
<seam:component/>
</bean>
fails like this:
12:45:35,203 DEBUG [ProxyUtils] Creating proxy for Spring Seam component 'processRepository' using class: se.lantmateriet.wfl.dataaccess.WsProcessRepository
12:45:35,282 INFO [DefaultListableBeanFactory] Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@8c2d94: defining beans [org.jboss.seam.ioc.spring.seamComponentPostProcessor,processRepository]; root of factory hierarchy
12:45:35,297 ERROR [[/wfl-seam]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processRepository' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.jboss.seam.InstantiationException: Could not instantiate Seam component: processRepository
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:430)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:255)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:252)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:689)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:358)
at org.jboss.seam.ioc.spring.ContextLoader.startupContextLoader(ContextLoader.java:64)
at org.jboss.seam.ioc.spring.ContextLoader.create(ContextLoader.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:124)
at org.jboss.seam.Component.callComponentMethod(Component.java:1957)
at org.jboss.seam.Component.callCreateMethod(Component.java:1880)
at org.jboss.seam.Component.newInstance(Component.java:1859)
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:98)
at org.jboss.seam.init.Initialization.init(Initialization.java:508)
at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3854)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4359)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: processRepository
at org.jboss.seam.Component.newInstance(Component.java:1853)
at org.jboss.seam.Component.getInstance(Component.java:1756)
at org.jboss.seam.Component.getInstance(Component.java:1735)
at org.jboss.seam.Component.getInstance(Component.java:1729)
at org.jboss.seam.ioc.spring.SeamComponentPostProcessor.postProcessAfterInitialization(SeamComponentPostProcessor.java:49)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:314)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1184)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:407)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:255)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:252)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:689)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:358)
at org.jboss.seam.ioc.spring.ContextLoader.startupContextLoader(ContextLoader.java:64)
at org.jboss.seam.ioc.spring.ContextLoader.create(ContextLoader.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:124)
at org.jboss.seam.Component.callComponentMethod(Component.java:1957)
at org.jboss.seam.Component.callCreateMethod(Component.java:1880)
at org.jboss.seam.Component.newInstance(Component.java:1859)
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:98)
at org.jboss.seam.init.Initialization.init(Initialization.java:508)
Caused by: java.lang.InstantiationException: se.lantmateriet.wfl.dataaccess.WsProcessRepository_$$_javassist_0
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.jboss.seam.ioc.ProxyUtils.enhance(ProxyUtils.java:71)
at org.jboss.seam.ioc.IoCComponent.instantiateJavaBean(IoCComponent.java:94)
at org.jboss.seam.Component.instantiate(Component.java:1154)
at org.jboss.seam.Component.newInstance(Component.java:1849)
at org.jboss.seam.Component.getInstance(Component.java:1756)
at org.jboss.seam.Component.getInstance(Component.java:1735)
at org.jboss.seam.Component.getInstance(Component.java:1729)
at org.jboss.seam.ioc.spring.SeamComponentPostProcessor.postProcessAfterInitialization(SeamComponentPostProcessor.java:49)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:314)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1184)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:407)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:255)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:252)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:689)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:358)
at org.jboss.seam.ioc.spring.ContextLoader.startupContextLoader(ContextLoader.java:64)
at org.jboss.seam.ioc.spring.ContextLoader.create(ContextLoader.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:124)
at org.jboss.seam.Component.callComponentMethod(Component.java:1957)
at org.jboss.seam.Component.callCreateMethod(Component.java:1880)
If I change <seam:component/> to <seam:component intercept="false"/> everything works.
1. Default for stateless spring beans seems to be true since seam standard rules are applied if intercept is null, that is not defined. bug?
2. Why would I want to use intercept="true" anyway? What interceptors will be added?
3. Why is it failing with intercept="true"?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1065) Entity Query should support multiple value bindings on restrictions.
by sal something (JIRA)
Entity Query should support multiple value bindings on restrictions.
--------------------------------------------------------------------
Key: JBSEAM-1065
URL: http://jira.jboss.com/jira/browse/JBSEAM-1065
Project: JBoss Seam
Issue Type: Bug
Components: Framework
Affects Versions: 1.2.0.GA
Reporter: sal something
Entity Query should support multiple value bindings on restrictions.
The use case would be the 'between' statement, as of now Entity Query will throw an exception using a 'between' statement:
Caused by: java.lang.IllegalArgumentException: there should be exactly one value binding in a restriction: applicationDeadline between #{vacancyBrowseSearch.appDeadlineStartDate} and #{vacancyBrowseSearch.appDeadlineEndDate}
at org.jboss.seam.framework.Query.parseEjbql(Query.java:145)
at org.jboss.seam.framework.EntityQuery.createQuery(EntityQuery.java:100)
at org.jboss.seam.framework.EntityQuery.getResultList(EntityQuery.java:41)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-909) RCFaces compatibility
by Daniel Wiell (JIRA)
RCFaces compatibility
---------------------
Key: JBSEAM-909
URL: http://jira.jboss.com/jira/browse/JBSEAM-909
Project: JBoss Seam
Issue Type: Bug
Affects Versions: 1.1.6.GA
Environment: JBoss Seam 1.1.6, JSF 1.1 RI (or MyFaces 1.1.5), Facelets 1.1.11, RCFaces 1.0b3 (or nightly from 20070221), Tomcat 5.5.20
Reporter: Daniel Wiell
1. Download RCFaces-facelets-starter-kit-v1-0b3.war (http://downloads.sourceforge.net/rcfaces/RCFaces-facelets-starter-kit-v1-...).
2. Deploy it in Tomcat.
3. Try the app - sorting the table works fine.
4. Build the "hibernate" example in Seam 1.1.6.
5. Copy over the jar files from the hibernate webapp to the "RCFaces-facelets-starter-kit" webapp, excluding the MyFaces jars and removing any dublicates.
6. Add "SeamListener" and "Seam Redirect Filter" to web.xml.
7. Add "SeamPhaseListener" to faces-config.xml.
8. Copy the components.xml and remove "bookingDatabase".
8. Redeploy the app.
9. Try it - when sorting you get the following stacktrace:
java.lang.IllegalStateException: No phase id bound to current thread (make sure you do not have two SeamPhaseListener instances installed)
at org.jboss.seam.contexts.PageContext.getPhaseId(PageContext.java:153)
at org.jboss.seam.contexts.PageContext.isRenderResponsePhase(PageContext.java:165)
at org.jboss.seam.contexts.PageContext.getCurrentReadableMap(PageContext.java:76)
at org.jboss.seam.contexts.PageContext.get(PageContext.java:66)
at org.jboss.seam.contexts.Contexts.lookupInStatefulContexts(Contexts.java:160)
at org.jboss.seam.Component.getInstance(Component.java:1635)
at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:53)
at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:134)
at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:65)
at com.sun.el.parser.AstValue.getValue(AstValue.java:106)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
at org.rcfaces.core.internal.component.BasicComponentEngine.getInternalProperty(BasicComponentEngine.java:149)
at org.rcfaces.core.internal.component.BasicComponentEngine.getValue(BasicComponentEngine.java:402)
at org.rcfaces.core.internal.component.CameliaGridComponent.getValue(CameliaGridComponent.java:418)
at org.rcfaces.core.internal.component.CameliaGridComponent.getDataModel(CameliaGridComponent.java:401)
at org.rcfaces.renderkit.html.internal.renderer.DataGridRenderer$TableRenderContext.<init>(DataGridRenderer.java:2624)
at org.rcfaces.renderkit.html.internal.renderer.DataGridRenderer$TableRenderContext.<init>(DataGridRenderer.java:2691)
at org.rcfaces.renderkit.html.internal.renderer.DataGridRenderer.createTableContext(DataGridRenderer.java:677)
at org.rcfaces.renderkit.html.internal.service.DataGridService.writeJs(DataGridService.java:242)
at org.rcfaces.renderkit.html.internal.service.DataGridService.service(DataGridService.java:171)
at org.rcfaces.core.internal.config.ServicesRegistryImpl.afterPhase(ServicesRegistryImpl.java:121)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
10. Comment out the "SeamPhaseListener" and retry - now it works again.
It's too bad, since RCFaces seems like a really great component library.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1839) Use HSQL to store Quartz jobs when deployed on JBoss AS
by Michael Yuan (JIRA)
Use HSQL to store Quartz jobs when deployed on JBoss AS
-------------------------------------------------------
Key: JBSEAM-1839
URL: http://jira.jboss.com/jira/browse/JBSEAM-1839
Project: JBoss Seam
Issue Type: Feature Request
Reporter: Michael Yuan
Assigned To: Michael Yuan
Fix For: 2.0.0.GA
Right now, Quartz jobs are stored "in-memory" and hence cannot be auto-started when the server reboots. The user can use persistence job stores by using a custom quartz property file. However, in JBoss AS, we should store jobs in the HSQL DB by default:
* In the dispatcher component, we can have a "jboss=true" attribute
* If this attribute is true, the QuartzDispatcher will setup Quartz tables for this particular app in the HSQL at startup, and then use the HSQL DB as persistent job store.
This way, when the application deploys again, all the jobs for this application will be auto-started again.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1869) Example of Control Set for Quartz SEAM Interation
by Piergiuseppe Spinelli (JIRA)
Example of Control Set for Quartz SEAM Interation
-------------------------------------------------
Key: JBSEAM-1869
URL: http://jira.jboss.com/jira/browse/JBSEAM-1869
Project: JBoss Seam
Issue Type: Task
Components: Examples
Affects Versions: 2.0.0.BETA1
Environment: Any OS. JBoss2_0B project.
Reporter: Piergiuseppe Spinelli
Priority: Optional
The attached sample is an attept to create a control interface to SEAM asynchronous method using Quartz as scheduling engine.
I was asked to do this in the related forum thread: I am not sure it is near to the desired functionalities, but it could be used as a starting point (or possibly as a negative sample).
The sample is very raw and I have used SEAM too short to be sure I did not make to stupid things, but if the idea is useful, I am sure other people will improve it.
Notes:
- The sample use quartz integrated in SEAM as it currently is: a support to asynchronous method
- Quartz is used with its in-memory db, the persistent status is kept by the application usign custom Entities
- Since I am a newby in SEAM, I preferred to make some custom classes for supporting CRUD operations since it was difficult to me to get the SEAM framework to do more that the simple things showed in the samples
TODO:
- it could be better to use some well known components library for the interface instead that my custom controls (i.e Trinidad)
- the entities I made to keep the application status use a table schema very similar to the quartz schema: it could be a good idea in a future to be able to use some entity model over the quartz schema
- it would be usefull to add the feature to upload the classes to be scheduler directly by the web interface, mayby using a classloader chain for supporting hot versioning.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-975) constraint by inclusion on remote calls object fields
by Zalder R (JIRA)
constraint by inclusion on remote calls object fields
-----------------------------------------------------
Key: JBSEAM-975
URL: http://jira.jboss.com/jira/browse/JBSEAM-975
Project: JBoss Seam
Issue Type: Feature Request
Components: Remoting
Reporter: Zalder R
Assigned To: Shane Bryzak
Priority: Optional
I think it could be nice to define the fields of the objects returned in a "WebRemote call" with an "include" parameter (instead of the current exclude parameter).
For instance :
now you have :
@WebRemote(exclude = {"secret"})
it would be nice to be able to define :
@WebRemote(include = {"fieldIreallyNeed1", "fieldIreallyNeed2"})
The reasons for this are many :
- security : if the object structure varies over time, you would not want the new fields to be available on the client side by default
- in some cases it's a lot more lightweight (both in the code and in the volume of data sent) to define a minimum set of fields you want instead of the fields you don't want
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 1 month