Slide creates local file to store transaction data which is implemented in
 org.apache.slide.store.txfile.TxXMLFileDescriptorsStore.
 
When creating such a txn file, it will create a folder to contain it. To make 
the folder name unique, it generate it out of the process name. However, nowthe 
process name contains some symbols like '*', ':', etc, like 
resin-tcp-connection-*.8080-1(In eclipse3.0 + Resin3.0)
This will cause problem in Windows platform because symbols like '*' is illegal 
for a folder name. Slide has a method wrap() to do some converting:

        sxid = sxid.replace('\'', '.').replace('"', '.').replace
(':', '.').replace('/', '.').replace('\\', '.';
but it missed the '*'.
As a result, we will not run slide properly and see the following error:
12 Oct 2005 19:25:16 - org.apache.commons.transaction.file.FileResourceManager -
 EMERGENCY - Saving status information to 
'roles/work/metadata/resin-tcp-connection-*.8080-1-1129116315824-5/transaction.log'
 failed! Could not create file 12 Oct 2005 19:25:16 - 
org.apache.commons.transaction.file.FileResourceManager -
 EMERGENCY - java.io.FileNotFoundException: roles\work\metadata\resin-tcp-
connection-*.8080-1-1129116315824-5\transaction.log (Syntax error in file name 
or folder name.)
java.io.FileNotFoundException: 
roles\work\metadata\resin-tcp-connection-*.8080-1-1129116315824-5\transaction.log
 (Syntax error in file name or folder name.)
 at java.io.FileOutputStream.open(Native Method)
 at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
 at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
 at 
org.apache.commons.transaction.file.FileResourceManager$TransactionContext.saveS
tate(FileResourceManager.java:1447)
 at 
org.apache.commons.transaction.file.FileResourceManager$TransactionContext.init
(FileResourceManager.java:1342)
 at 
org.apache.commons.transaction.file.FileResourceManager.startTransaction
(FileResourceManager.java:515)
 at org.apache.slide.store.txfile.TxXMLFileDescriptorsStore.start
(TxXMLFileDescriptorsStore.java:525)
 at org.apache.slide.transaction.SlideTransaction.enlistResource
(SlideTransaction.java:471)
 at org.apache.slide.store.AbstractStore.enlist(AbstractStore.java:1517)
 at org.apache.slide.store.AbstractStore.enumeratePermissions
(AbstractStore.java:807)
 
I think the wrap() method should be modified to convert '*'.


                
---------------------------------
雅虎免费G邮箱-No.1的防毒防垃圾超大邮箱
雅虎助手¨D搜索、杀毒、防骚扰

Reply via email to