[JBoss JIRA] Created: (JBSEAM-4528) static pages don't work at all with database down and XA datasource used
by deanhiller (JIRA)
static pages don't work at all with database down and XA datasource used
------------------------------------------------------------------------
Key: JBSEAM-4528
URL: https://jira.jboss.org/jira/browse/JBSEAM-4528
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.2.0.GA
Environment: postgres or oracle with postgres or oracle XADatasource. postgres jdbc driver is fine while oracle driver is not
Reporter: deanhiller
Priority: Critical
If this is a hibernate bug, please report hibernate issue and ticket here as other seam users will run into this problem and it looks like a seam framework problem(or at least could be solved in seam but it may be possible to solve in hibernate too and could be solved in each and every driver datasource as well).
Steps to reproduce
1. start up the jboss 5.1.0 with latest seam
2. pull your internet connection so the db is gone
3. have all your customers go to a static page like /web/error.xhtml
RESULT: jboss goes to it's knees as users in IE end up in infinite redirects to your server causing more and more load on the server. The drivers talk to the database when they should not be. I have a work around proxy driver for oracle's jdbc driver. I do not however have a fix for oracle's datasource or postgres datasource.
I imagine someone could write a proxy datasource that would solve this problem for all people, hibernate, seam and all xa drivers. I will attach logs of postgres xa driver and oracle one but basically they are trying to open a connection to database when ANY http request comes in until waiting to see if we actually do any select statements or updates or inserts. For some reason, the postgres driver and oracle driver where fine here...they did not make db requests when an http request came in. The oracle driver however did make a request to the db when commit is called even if no sql was done against the db where postgres driver ignored the commit since no sql was done. I will try to attach files or more comments here. PLEASE if you report a tic in hibernate put it in here for others to find when they hit this issue.
keyphrases:
seam doesn't work when database goes down
seam infinite redirect on db outage
database failure causes seam to not work
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] Created: (SEAM-88) Solder Property couldn't get property value if the property type is primitive.
by Miyazawa Yasushi (JIRA)
Solder Property couldn't get property value if the property type is primitive.
------------------------------------------------------------------------------
Key: SEAM-88
URL: https://issues.jboss.org/browse/SEAM-88
Project: Seam 3 Distribution
Issue Type: Bug
Affects Versions: 3.0.0.Final
Reporter: Miyazawa Yasushi
Property couldn't get property value if the property type is primitive.
Simplest Test
===================================================================================================
package org.miyazyss;
import org.jboss.seam.solder.properties.Property;
import org.jboss.seam.solder.properties.query.NamedPropertyCriteria;
import org.jboss.seam.solder.properties.query.PropertyQueries;
import org.jboss.seam.solder.properties.query.PropertyQuery;
import org.junit.Assert;
import org.junit.Test;
/**
*
*/
public class SolderMethodTest {
public static class Bean {
public long longValue = 1;
public Long longClassValue = 3L;
public long getLongValueMethod(){
return(2);
}
}
private Bean bean = new Bean();
@Test
public void testPrimitiveField(){
PropertyQuery<Bean> query = PropertyQueries.createQuery(Bean.class);
Property<Bean> prop = query.addCriteria(new NamedPropertyCriteria("longValue")).getFirstResult();
Assert.assertEquals(1, prop.getValue(this.bean));
}
@Test
public void testPrimitiveReturnTypeMethod(){
PropertyQuery<Bean> query = PropertyQueries.createQuery(Bean.class);
Property<Bean> propValue = query.addCriteria(new NamedPropertyCriteria("longValueMethod")).getFirstResult();
Assert.assertEquals(2, propValue.getValue(this.bean));
}
@Test
public void testClassField(){
PropertyQuery<Bean> query = PropertyQueries.createQuery(Bean.class);
Property<Bean> propValue = query.addCriteria(new NamedPropertyCriteria("longClassValue")).getFirstResult();
Assert.assertEquals(3L, propValue.getValue(this.bean));
}
}
Result
=========================================================================================================
SolderMethodTest
org.miyazyss.SolderMethodTest
testPrimitiveField(org.miyazyss.SolderMethodTest)
java.lang.ClassCastException
at java.lang.Class.cast(Unknown Source)
at org.jboss.seam.solder.reflection.Reflections.getFieldValue(Reflections.java:682)
at org.jboss.seam.solder.properties.FieldPropertyImpl.getValue(FieldPropertyImpl.java:75)
at org.miyazyss.SolderMethodTest.testPrimitiveField(SolderMethodTest.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
testPrimitiveReturnTypeMethod(org.miyazyss.SolderMethodTest)
java.lang.ClassCastException
at java.lang.Class.cast(Unknown Source)
at org.jboss.seam.solder.properties.MethodPropertyImpl.getValue(MethodPropertyImpl.java:136)
at org.miyazyss.SolderMethodTest.testPrimitiveReturnTypeMethod(SolderMethodTest.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] Created: (SOLDER-99) javax.el.ExpressionFactory can not be injected because it has final methods
by Denis Forveille (JIRA)
javax.el.ExpressionFactory can not be injected because it has final methods
---------------------------------------------------------------------------
Key: SOLDER-99
URL: https://issues.jboss.org/browse/SOLDER-99
Project: Seam Solder
Issue Type: Bug
Components: Compliance
Affects Versions: 3.0.0.CR3
Environment: WebSphere 8 beta
Reporter: Denis Forveille
seam-booking can not start in WebSphere v8 beta because of the following exception
I think this is class org.jboss.seam.solder.el.Expressions that causes this
(WAS v8 uses openwebbeans and not weld..)
{noformat}
Caused by: javax.enterprise.inject.UnproxyableResolutionException: WebBeans with api type with normal scope must be proxiable to inject.
javax.el.ExpressionFactory has final methods! CDI doesn't allow that.
at org.apache.webbeans.util.InjectionExceptionUtils.throwUnproxyableResolutionException(InjectionExceptionUtils.java:39)
at org.apache.webbeans.util.WebBeansUtil.checkUnproxiableApiType(WebBeansUtil.java:2084)
{noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years