[JBoss JIRA] Created: (EJBTHREE-1842) ClusteredIsLocalInterceptor finds unstarted beans
by Brian Stansberry (JIRA)
ClusteredIsLocalInterceptor finds unstarted beans
-------------------------------------------------
Key: EJBTHREE-1842
URL: https://jira.jboss.org/jira/browse/EJBTHREE-1842
Project: EJB 3.0
Issue Type: Bug
Components: interceptors
Affects Versions: AS 4.2.2.GA
Reporter: Brian Stansberry
Assignee: Paul Ferraro
ClusteredIsLocalInterceptor determines whether a bean is available locally by checking the Ejb3Registry. Problem is beans are registered early in the deployment process, before they are started.
In the related forum thread pawel.wyrwinski reports how this particularly causes problems when an @Depends("jboss.ha:service=HASingletonDeployer,type=Barrier") annotation is used to make a bean act as an HASingleton. The bean is included in the Ejb3Registry on all nodes but is only started on one.
A logically obvious solution would be to check whether the target container is started before invoking locally. Unfortunately, AFAICT Container and its subclasses do not expose any method to support such a check.
Pawel reported this against 4.2.2 so that the "Affects Version" I used, but a quick code check leads me to believe it still exists.
--
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
16 years
[JBoss JIRA] Created: (JBAS-5980) DeploymentException: No Attribute found with name: PolicyConfigurationFacadeMBean
by Rene Leonhardt (JIRA)
DeploymentException: No Attribute found with name: PolicyConfigurationFacadeMBean
---------------------------------------------------------------------------------
Key: JBAS-5980
URL: https://jira.jboss.org/jira/browse/JBAS-5980
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Deployers
Affects Versions: JBossAS-5.0.0.CR2
Environment: Windows XP SP2, Sun Java 1.5.0_16-b02, JBossAS-5.0.0.CR2, EJB3, Struts 1.3.8
Reporter: Rene Leonhardt
Assignee: Ales Justin
I have a Struts 1.3.8 and EJB 3.0 application which works just fine in JBoss 4.2.3 but JBoss 5.0.0.CR2 gives many errors when I deploy the EAR (and make the necessary changes to the default configuration):
2008-09-22 11:43:45,546 DEBUG [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) Unable to retrieve orb
javax.management.InstanceNotFoundException: jboss:service=CorbaORB is not registered.
at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:529)
at org.jboss.mx.server.MBeanServerImpl.getAttribute(MBeanServerImpl.java:559)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment$EncListener.lifecycleEvent(TomcatDeployment.java:508)
2008-09-22 11:43:47,265 DEBUG [org.jboss.messaging.core.impl.JDBCSupport] (main) Failed to execute: CREATE TABLE JBM_USER (USER_ID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, CLIENTID VARCHAR(128), PRIMARY KEY(USER_ID))
java.sql.SQLException: Table already exists: JBM_USER in statement [CREATE TABLE JBM_USER]
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:249)
at org.jboss.messaging.core.impl.JDBCSupport.createSchema(JDBCSupport.java:301)
at org.jboss.messaging.core.impl.JDBCSupport.start(JDBCSupport.java:167)
at org.jboss.jms.server.plugin.JDBCJMSUserManager.start(JDBCJMSUserManager.java:98)
at org.jboss.jms.server.plugin.JDBCJMSUserManagerService.startService(JDBCJMSUserManagerService.java:78)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:376)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:269)
2008-09-22 11:43:54,296 INFO [org.hibernate.connection.ConnectionProviderFactory] (main) Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
2008-09-22 11:43:54,296 INFO [org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider] (main) Using provided datasource
2008-09-22 11:43:54,296 DEBUG [org.jboss.util.NestedThrowable] (main) org.jboss.util.NestedThrowable.parentTraceEnabled=true
2008-09-22 11:43:54,296 DEBUG [org.jboss.util.NestedThrowable] (main) org.jboss.util.NestedThrowable.nestedTraceEnabled=false
2008-09-22 11:43:54,296 DEBUG [org.jboss.util.NestedThrowable] (main) org.jboss.util.NestedThrowable.detectDuplicateNesting=true
2008-09-22 11:43:54,296 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] (main) Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Failed to register driver for: oracle.jdbc.driver.OracleDriver; - nested throwable: (java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver from BaseClassLoader@be4d44{VFSClassLoaderPolicy@1c2df08{name=vfszip:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear domain=ClassLoaderDomain@14562c5{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.system.NoAnnotationURLClassLoader@1e13d52} roots=[MemoryContextHandler@12618553[path= context=vfsmemory://1l1k2t1k-f8xjnv-flewujwc-1-flewuvyt-1s real=vfsmemory://1l1k2t1k-f8xjnv-flewujwc-1-flewuvyt-1s], DelegatingHandler(a)16021684[path=myapplication.ear context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear], DelegatingHandler(a)2135767[path=myapplication.ear/myapplication-ejb.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplication-ejb.jar], DelegatingHandler(a)26153692[path=myapplication.ear/myapplicationFramework.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplicationFramework.jar], DelegatingHandler(a)2050852[path=myapplication.ear/myapplicationVO.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplicationVO.jar], DelegatingHandler(a)8271067[path=myapplication.ear/mysql-connector-java-5.1.6-bin.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/mysql-connector-java-5.1.6-bin.jar], DelegatingHandler(a)29371829[path=myapplication.ear/tibjms.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/tibjms.jar], DelegatingHandler(a)33093423[path=myapplication.ear/jakarta-oro-2.0.8.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/jakarta-oro-2.0.8.jar], DelegatingHandler(a)2904191[path=myapplication.ear/castor-1.1.1.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/castor-1.1.1.jar], ZipEntryHandler(a)22602435[path=myapplication.ear/myapplication-ejb.jar/config context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplication-ejb.jar/config]] delegates=null exported=[com.tibco.tibjms.naming, org.exolab.castor.jdo.oql, org.exolab.castor.util.dialog, org.exolab.castor.gui.images, org.exolab.castor.dsml.tools, com.mysql.jdbc, org.castor.persist.resolver, org.exolab.castor.xml.schema.reader, com.mysql.jdbc.util, org.exolab.castor.tools, org.castor.cache.simple, org.exolab.castor, com.mysql.jdbc.log, org.castor.transactionmanager, org.exolab.castor.xml.validators, org.gjt.mm.mysql, org.apache.oro.text.regex, com.tibco.tibjms, org.exolab.castor.types, org.exolab.castor.util.resources, org.castor.jdo.engine, org.apache.oro.util, org.apache.oro.text.perl, org.exolab.castor.dsml.mozilla, org.castor.cache.distributed, org.exolab.castor.xml.schema, com.tibco.tibjms.naming.tibjmsnaming, com.mysql.jdbc.configs, org.exolab.castor.persist, org.exolab.castor.core.exceptions, org.castor.jdo.conf, org.exolab.castor.net.util, org.exolab.castor.jdo.engine, org.exolab.castor.xml.schema.util, org.exolab.castor.mapping.loader, org.castor.util.concurrent, org.exolab.castor.jdo.drivers, org.castor, org.exolab.castor.xml.descriptors, org.exolab.castor.mapping.xml.types, org.exolab.castor.mapping.handlers, org.castor.jdo.util, com.mysql.jdbc.jdbc2.optional, org.exolab.castor.dsml, com.mysql.jdbc.profiler, org.exolab.castor.xml.schema.writer, org.exolab.castor.jdo.keygen, org.exolab.castor.xml.wls8, org.exolab.castor.dsml.jndi, com.mysql.jdbc.exceptions.jdbc4, org.exolab.castor.gui, org.castor.persist.cache, org.exolab.castor.xml.util, org.exolab.castor.util, org.exolab.castor.xml.dtd.parser, META-INF, org.exolab.castor.mapping, org.exolab.castor.xml.location, org.castor.cache.hashbelt, org.apache.oro.text, com.mysql.jdbc.exceptions, org.exolab.castor.xml, META-INF.services, org.exolab.castor.jdo, org.castor.cache.hashbelt.container, org.exolab.castor.persist.spi, org.exolab.castor.dtx, org.exolab.castor.xml.schema.simpletypes, org.castor.persist, org.apache.oro.text.awk, org.apache.oro.io, org.castor.cache, com.mysql.jdbc.integration.jboss, org.exolab.castor.xml.schema.simpletypes.factory, org.exolab.castor.xml.handlers, org.castor.jdo.drivers, org.exolab.castor.xml.dtd, com.mysql.jdbc.integration.c3p0, org.exolab.castor.net, org.castor.util, org.castor.cache.hashbelt.reaper, org.exolab.castor.dsml.schema, org.castor.mapping, org.castor.persist.proxy, org.exolab.castor.mapping.xml, com.mysql.jdbc.interceptors, ] <IMPORT-ALL>NON_EMPTY}}))
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:225)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:195)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:611)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:257)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:607)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:354)
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:409)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:854)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:281)
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver from BaseClassLoader@be4d44{VFSClassLoaderPolicy@1c2df08{name=vfszip:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear domain=ClassLoaderDomain@14562c5{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.system.NoAnnotationURLClassLoader@1e13d52} roots=[MemoryContextHandler@12618553[path= context=vfsmemory://1l1k2t1k-f8xjnv-flewujwc-1-flewuvyt-1s real=vfsmemory://1l1k2t1k-f8xjnv-flewujwc-1-flewuvyt-1s], DelegatingHandler(a)16021684[path=myapplication.ear context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear], DelegatingHandler(a)2135767[path=myapplication.ear/myapplication-ejb.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplication-ejb.jar], DelegatingHandler(a)26153692[path=myapplication.ear/myapplicationFramework.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplicationFramework.jar], DelegatingHandler(a)2050852[path=myapplication.ear/myapplicationVO.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplicationVO.jar], DelegatingHandler(a)8271067[path=myapplication.ear/mysql-connector-java-5.1.6-bin.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/mysql-connector-java-5.1.6-bin.jar], DelegatingHandler(a)29371829[path=myapplication.ear/tibjms.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/tibjms.jar], DelegatingHandler(a)33093423[path=myapplication.ear/jakarta-oro-2.0.8.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/jakarta-oro-2.0.8.jar], DelegatingHandler(a)2904191[path=myapplication.ear/castor-1.1.1.jar context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/castor-1.1.1.jar], ZipEntryHandler(a)22602435[path=myapplication.ear/myapplication-ejb.jar/config context=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/ real=file:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplication-ejb.jar/config]] delegates=null exported=[com.tibco.tibjms.naming, org.exolab.castor.jdo.oql, org.exolab.castor.util.dialog, org.exolab.castor.gui.images, org.exolab.castor.dsml.tools, com.mysql.jdbc, org.castor.persist.resolver, org.exolab.castor.xml.schema.reader, com.mysql.jdbc.util, org.exolab.castor.tools, org.castor.cache.simple, org.exolab.castor, com.mysql.jdbc.log, org.castor.transactionmanager, org.exolab.castor.xml.validators, org.gjt.mm.mysql, org.apache.oro.text.regex, com.tibco.tibjms, org.exolab.castor.types, org.exolab.castor.util.resources, org.castor.jdo.engine, org.apache.oro.util, org.apache.oro.text.perl, org.exolab.castor.dsml.mozilla, org.castor.cache.distributed, org.exolab.castor.xml.schema, com.tibco.tibjms.naming.tibjmsnaming, com.mysql.jdbc.configs, org.exolab.castor.persist, org.exolab.castor.core.exceptions, org.castor.jdo.conf, org.exolab.castor.net.util, org.exolab.castor.jdo.engine, org.exolab.castor.xml.schema.util, org.exolab.castor.mapping.loader, org.castor.util.concurrent, org.exolab.castor.jdo.drivers, org.castor, org.exolab.castor.xml.descriptors, org.exolab.castor.mapping.xml.types, org.exolab.castor.mapping.handlers, org.castor.jdo.util, com.mysql.jdbc.jdbc2.optional, org.exolab.castor.dsml, com.mysql.jdbc.profiler, org.exolab.castor.xml.schema.writer, org.exolab.castor.jdo.keygen, org.exolab.castor.xml.wls8, org.exolab.castor.dsml.jndi, com.mysql.jdbc.exceptions.jdbc4, org.exolab.castor.gui, org.castor.persist.cache, org.exolab.castor.xml.util, org.exolab.castor.util, org.exolab.castor.xml.dtd.parser, META-INF, org.exolab.castor.mapping, org.exolab.castor.xml.location, org.castor.cache.hashbelt, org.apache.oro.text, com.mysql.jdbc.exceptions, org.exolab.castor.xml, META-INF.services, org.exolab.castor.jdo, org.castor.cache.hashbelt.container, org.exolab.castor.persist.spi, org.exolab.castor.dtx, org.exolab.castor.xml.schema.simpletypes, org.castor.persist, org.apache.oro.text.awk, org.apache.oro.io, org.castor.cache, com.mysql.jdbc.integration.jboss, org.exolab.castor.xml.schema.simpletypes.factory, org.exolab.castor.xml.handlers, org.castor.jdo.drivers, org.exolab.castor.xml.dtd, com.mysql.jdbc.integration.c3p0, org.exolab.castor.net, org.castor.util, org.castor.cache.hashbelt.reaper, org.exolab.castor.dsml.schema, org.castor.mapping, org.castor.persist.proxy, org.exolab.castor.mapping.xml, com.mysql.jdbc.interceptors, ] <IMPORT-ALL>NON_EMPTY}}
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getDriver(LocalManagedConnectionFactory.java:474)
2008-09-22 11:43:56,718 WARN [org.jboss.wsf.container.jboss50.deployer.JAXWSDeployerHookPreJSE] (main) Cannot load servlet class: org.apache.struts.action.ActionServlet
2008-09-22 11:44:03,031 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Configured: name=jboss.jacc:id="vfszip:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplication-ejb.jar",parent="myapplication.ear",service=jacc state=Instantiated mode=Manual requiredState=Configured
org.jboss.deployment.DeploymentException: No Attribute found with name: PolicyConfigurationFacadeMBean for jboss.jacc:service=jacc,id="vfszip:/C:/Programme/jboss-5.0.0.CR2/server/default/deploy/myapplication.ear/myapplication-ejb.jar",parent="myapplication.ear", attributes: [JaccContextID, PolicyConfiguration]
at org.jboss.system.ServiceConfigurator.configure(ServiceConfigurator.java:127)
at org.jboss.system.ServiceConfigurator.configure(ServiceConfigurator.java:99)
at org.jboss.system.microcontainer.ConfigureAction.installAction(ConfigureAction.java:58)
at org.jboss.system.microcontainer.ConfigureAction.installAction(ConfigureAction.java:42)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
--
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
16 years
[JBoss JIRA] Created: (JBCOMMON-82) FileUrlConnection can leak file descriptors
by Nikolay Tsankov (JIRA)
FileUrlConnection can leak file descriptors
-------------------------------------------
Key: JBCOMMON-82
URL: https://jira.jboss.org/jira/browse/JBCOMMON-82
Project: JBoss Common
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: common-core (2.x)
Environment: jdk 1.6
Reporter: Nikolay Tsankov
The following code demonstrates the problem, I would suggest storing the FileInputStream on first call of getInputStream() and return it on subsequent calls :
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.jboss.net.protocol.file.FileURLConnection;
public class FileUrlConnectionBug {
static File dir = new File("C:/test_file_url_connection");
public static void main(String[] args) throws Exception {
File tmp = makeFile("file.txt");
FileURLConnection connection = new FileURLConnection(tmp.toURI().toURL());
InputStream inputStream = connection.getInputStream();
//get the content, which is also an input stream
//calling this method causes getInputStream() to be called twice, see getContent()
//in java.net.URLConnection
InputStream contentInputStream = (InputStream) connection.getContent();
//close both streams
inputStream.close();
contentInputStream.close();
//file cannot be deleted, as there is an open file descriptor left
if (!tmp.delete()) {
System.err.println("Streams closed, but file cannot be deleted after getContent() is called");
}
//When getContent() is not called, everything is ok, file can be deleted
File tmpOk = makeFile("fileOk.txt");
FileURLConnection connectionOk = new FileURLConnection(tmpOk.toURI().toURL());
InputStream inputStreamOk = connectionOk.getInputStream();
inputStreamOk.close();
if (tmpOk.delete()) {
System.out.println("File deleted ok if getContent() is not called");
}
}
private static File makeFile(String name) throws Exception {
dir.mkdir();
File tmp = new File(dir, name);
OutputStream out = new FileOutputStream(tmp);
out.write(1);
out.close();
return tmp;
}
}
--
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
16 years
[JBoss JIRA] Created: (JBRULES-1859) Error info not telling root cause
by Jaroslaw Kijanowski (JIRA)
Error info not telling root cause
---------------------------------
Key: JBRULES-1859
URL: https://jira.jboss.org/jira/browse/JBRULES-1859
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-guvnor
Affects Versions: 5.0.0.M3
Reporter: Jaroslaw Kijanowski
Assignee: Michael Neale
When I:
- create/copy a package and provide an already used name
- create/copy a snapshot and provide an already used name
- create/rename a status and provide an already used name
I get an error window displayed:
"The call failed on the server; see server log for details"
Users may have no access to the server log. Moreover these errors are not reflected in the Event.log
Finally, when I create a rule with a name that is already used, no information is displayed.
--
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
16 years
[JBoss JIRA] Created: (JBRULES-2114) Drools hangs with deadlock after it has initialized a rule (in multithreaded environment)
by Andrey Nechaev (JIRA)
Drools hangs with deadlock after it has initialized a rule (in multithreaded environment)
-----------------------------------------------------------------------------------------
Key: JBRULES-2114
URL: https://jira.jboss.org/jira/browse/JBRULES-2114
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 4.0.6
Reporter: Andrey Nechaev
Assignee: Mark Proctor
Priority: Critical
Here is a scenario when drools core hangs with a deadlock:
Suppose we heve a rule throwing an exception in the RHS.
So, if:
1. Thread A updates the Rule Base with the rule
2. The rule fires (current thread is Thread A)
3. Rule's RHS throws an exception (still having Thread A as current)
4. Thread B tries to update the Rule Base or the Working Memory (for example, the Thread B inserts a fact)
in such a case the Thread B falls into infinite wait() loop.
Here is the test case showing such a behavior:
package com.test;
import java.io.StringReader;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
import org.drools.compiler.PackageBuilder;
public class DroolsTest2 {
private final static String rule = "" +
"package test\n" +
"import com.test.DroolsTest2;\n" +
"rule test\n" +
"\twhen\n" +
"\tthen\n" +
"\t\tDroolsTest2.fail();" +
"end";
private static Object sem = new Object();
private static boolean seed = false;
public static void main(String[] args) throws Exception {
final RuleBase rb = RuleBaseFactory.newRuleBase();
final WorkingMemory wm = rb.newStatefulSession();
new Thread(new Runnable() {
@Override
public void run() {
seed = false;
PackageBuilder bld = new PackageBuilder();
try {
bld.addPackageFromDrl(new StringReader(rule));
rb.addPackage(bld.getPackage());
} catch(Exception e) {
} finally {
synchronized (sem) {
seed = true;
sem.notify();
}
}
}
}).start();
Thread ins = new Thread(new Runnable() {
@Override
public void run() {
while(!seed) {
synchronized (sem) {
try {
sem.wait();
} catch (InterruptedException e) {}
}
}
wm.insert(new Object());
}
});
ins.start();
ins.join();
}
public static void fail() {
throw new IllegalStateException("fail!");
}
}
--
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
16 years