[Design of JCA on JBoss] - Re: JcaXAResourceRecovery
by jhalliday
Hi guys
We are looking at ways of solving a current problem around recovery: it's not always clear which resource manager is misbehaving, which makes it difficult to know where to look for the source of the trouble.
All the transaction manager can do is print out the Xid, or the String representation of the XAResource if it's lucky and not actually crashed yet. But these structures contain little meaningful information for the user.
What we really want to know is the name of the Resource Manager that Resource belongs to i.e. the JNDI name or similar - something the user can relate back to a -ds.xml file or such.
To accomplish that the Transaction Manager either needs to be provided with the information up front (extra fields in the JcaXAResourceWrapper?) or have some way to ask the app server for it e.g. SomeIntegrationAPI.getJNDINameForXAResource(XAResource xar) or better still getJNDINameForXid(Xid xid)
Any thoughts on how we could go about providing this useful debugging aid?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159614#4159614
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159614
16 years
[Design of JBoss Build System] - Disabling the maven central repository
by pgier
Dimitrius and I talked briefly about whether the maven central repository should be disabled in the pom files or in settings.xml. There are a couple of ways that the central repository can effectively be disabled. One way is to define a different repository with the id "central"
| <repositories>
| <repository>
| <id>central</id>
| <url>http://repository.jboss.org/maven2</url>
| <snapshots>
| <enabled>false</enabled>
| </snapshots>
| <releases>
| <enabled>true</enabled>
| </releases>
| </repository>
| </repositories>
| <pluginRepositories>
| <pluginRepository>
| <id>central</id>
| <url>http://repository.jboss.org/maven2</url>
| <snapshots>
| <enabled>false</enabled>
| </snapshots>
| <releases>
| <enabled>true</enabled>
| </releases>
| </pluginRepository>
| </pluginRepositories>
|
Because maven uses the id "central" internally for the main repository http://repo1.maven.org/maven2, defining another repository with the same id will override the default definition.
Another way to avoid use of the central repository is with the use of mirrors in settings.xml. You can tell maven to use another repository as a mirror of central and then maven will ignore the default central repository.
| <mirrors>
| <mirror>
| <id>repository.jboss.org</id>
| <url>http://repository.jboss.org/maven2</url>
| <mirrorOf>central</mirrorOf>
| </mirror>
| </mirrors>
|
Either of these configurations can be added to a user's settings.xml file located in ~/.m2/settings.xml. The repository settings could be added to the pom. The maven best practice for repository settings is to keep them in settings.xml instead of pom.xml. The reasoning is that repository settings can changes over time (urls, etc) and the pom should only contain information about the project that will never change. The downside of this is that every user has to keep their settings.xml file correct, and we don't have a good way to enforce this.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159599#4159599
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159599
16 years
[Design the new POJO MicroContainer] - VFS locking
by scott.stark@jboss.org
Related to the profileservice tests on win32, I started adding an hdscanner/profileservice repository mock up. However, I see that there are some tests that don't validate file deletion when run on win32, for example this FileVFSUnitTestCase test where the assertion is 'tmp.delete() || isWindowsOS()':
| public void testFileExists()
| throws Exception
| {
| File tmpRoot = File.createTempFile("vfs", ".root");
| tmpRoot.delete();
| tmpRoot.mkdir();
| File tmp = File.createTempFile("testFileExists", null, tmpRoot);
| log.info("+++ testFileExists, tmp="+tmp.getCanonicalPath());
|
| URL rootURL = tmpRoot.toURL();
| VFS vfs = VFS.getVFS(rootURL);
| VirtualFile tmpVF = vfs.findChild(tmp.getName());
| assertTrue(tmpVF.getPathName()+".exists()", tmpVF.exists());
| assertTrue("tmp.delete()", tmp.delete() || isWindowsOS());
| assertFalse(tmpVF.getPathName()+".exists()", tmpVF.exists() && isWindowsOS() == false);
| assertTrue(tmpRoot+".delete()", tmpRoot.delete() || isWindowsOS());
| }
|
What is the point of not checking the delete return value under win32?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159578#4159578
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159578
16 years