RE: [JBoss-dev] [ jboss-Bugs-617574 ] Classloader deadlock

2002-10-02 Thread Bordet, Simone

Hi,

 I come back again with my old trick that hadn't much success 
 in the past.
 
 To solve the system class loader problem definitivly, at 
 least with JDK 1.4
 and upper, why not use the java.system.class.loader system 
 property (see
 javadoc of java.lang.Classloader.getSystemClassLoader).
 
 This way, we could have a Fake Classloader, let's call it a
 RedirectorClassLoader (RCL), registered as the system 
 classloader. When a
 call originates from a UCL, the RCL would do its normal work. 
 But when a
 call doesn't come from a UCL, the RCL would check what is the current
 contextual UCL (as we could/can have multiple UCLs) and delegate the
 loading to this UCL.

Not sure if your trick works with Class.forName() in all cases, especially when to go 
native is some JDK class such as VersionHelper12.
Class.forName goes native before calling the classloader, and there it acquires the 
lock on the classloader; then it delegates to the classloader, which either is a 
UCL(2) or a child; from the UCL you walk the hierarchy up, arriving to the system 
classloader (or your RCL), but we already had the chance to intercept the call at UCL 
level.

Maybe I am missing something or I misunderstood your proposal ?

A feeling I have is that it is a plain old bug in HierarchyCL, but it's just a feeling 
(since it does not seem related to the ClassCircularityError we had in the past).

Regards,

Simon


---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] I can't believe france is out of the world cup

2002-06-27 Thread Bordet, Simone

Hi,

 so sorry guys (especcialy from turkey), but now it's between 
 us and the 
 German. We talk again after sunday, maybe tuesday, because 
 the party is 
 gonna be long : ) (so i hope)...

At least the referee is italian, although I'd preferred Italy was there instead of 
Germany.
Ah well, we will see what Ronaldo can do against Kahn, a great battle.

Simon


---
Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] I can't believe france is out of the world cup

2002-06-19 Thread Bordet, Simone

Hi,

 man what a cup!
 
 Italy out... simone, yeah you can cry on my shoulder I know 
 the feeling,

Bwwa 

We're supposed to be the best players in the world, players paid 500,000 euro *a 
month* (== 500,000 USD) and is this worth money ?

Pah, I'm glad we're out, referees apart, if we scored 5 goals, some canceled goal 
would not had made any difference.

Simon

 Only Spain is exciting these days,
 
 But I really want Senegal to win :)
 
 marcf
 
 
 
 |-Original Message-
 |From: [EMAIL PROTECTED]
 |[mailto:[EMAIL PROTECTED]]On Behalf Of
 |Ignacio Coloma
 |Sent: Thursday, June 06, 2002 12:15 PM
 |To: [EMAIL PROTECTED]
 |Subject: Re: [JBoss-dev] I can't believe france is out of 
 the world cup
 |
 |
 |Maybe. Just promise not to get pissed off when the spanish 
 fury sieges
 |the fields.
 |
 |You have been warned :-)))
 |
 |Vesco Claudio wrote:
 |
 |Go Italy!!!
 |
 |uhmmm, can we change jboss-development in soccer-jboss? :-)))
 |
 |Claudio
 |
 |-Original Message-
 |From:  Sacha Labourey [SMTP:[EMAIL PROTECTED]]
 |Sent:  Thursday, June 06, 2002 4:30 PM
 |To:[EMAIL PROTECTED]
 |Subject:   RE: [JBoss-dev] I can't believe france is out 
 of the world
 |cup
 |
 |Come on, Tomasson will kick them out with 3-0 !
 |
 |Ah, justice is made ! Go Italy !
 |
 |Simone, I personnaly don't care much about football: I 
 just give a little
 |support for French. Today football, this week-end the legislative
 |elections,
 |pfhh... what a hard time! ;)
 |
 |But I am sure you know what I mean: Italian situation has strong
 |similarities with France, but a few year earlier! ;)
 |
 |This new World-Cup mailing-list is cool!
 |
 |
 |___
 |
 |Don't miss the 2002 Sprint PCS Application Developer's Conference
 |August 25-28 in Las Vegas -- 
 http://devcon.sprintpcs.com/adp/index.cfm
 |
 |___
 |Jboss-development mailing list
 |[EMAIL PROTECTED]
 |https://lists.sourceforge.net/lists/listinfo/jboss-development
 |
 |
 |___
 |
 |Don't miss the 2002 Sprint PCS Application Developer's Conference
 |August 25-28 in Las Vegas -- 
 http://devcon.sprintpcs.com/adp/index.cfm
 |
 |___
 |Jboss-development mailing list
 |[EMAIL PROTECTED]
 |https://lists.sourceforge.net/lists/listinfo/jboss-development
 |
 |
 |
 |
 |
 |
 |___
 |
 |Don't miss the 2002 Sprint PCS Application Developer's Conference
 |August 25-28 in Las Vegas -- 
 http://devcon.sprintpcs.com/adp/index.cfm
 |
 |___
 |Jboss-development mailing list
 |[EMAIL PROTECTED]
 |https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 --
 --
Bringing you mounds of caffeinated joy
http://thinkgeek.com/sf
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 


   Bringing you mounds of caffeinated joy
http://thinkgeek.com/sf

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] ClassCircularityError is a HotSpot BUG !

2002-06-12 Thread Bordet, Simone

Hi all,

after investigations, we submitted a bug for the class circularity error problem, it's 
a bug in HotSpot:

http://developer.java.sun.com/developer/bugParade/bugs/4699981.html

I did not try, but it seems JRockit does not have this bug.

Simon

___

Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] I can't believe france is out of the world cup

2002-06-06 Thread Bordet, Simone

  I'll say we suck...
  
  oh well, can't win them all, but to go out that way :(
 
 They still have a tiny chance the 11th of June!

Come on, Tomasson will kick them out with 3-0 !

Ah, justice is made ! Go Italy !

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-06-05 Thread Bordet, Simone

Hi Dave,

 I just took Simone's patch and applied it to the 3_0 branch. 

Do you mean what I committed to HEAD 2-3 hrs ago ?

 it did not
 work. Here is the stacktrace. ...
 
 Cause: java.lang.ClassCircularityError: java/lang/String

I catch CCE in the new code, how come you get it back ?

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-06-05 Thread Bordet, Simone

Hi Dave,

   Cause: java.lang.ClassCircularityError: java/lang/String
  
  I catch CCE in the new code, how come you get it back ?
  
 I thought you would know that ;-). Anything I can do to help the
 debugging?

Yes, can you track down from where exactly the CCE comes from ?
It seems from your stack trace that you're using JMX to invoke a method in the 
CCRAPoll thread.
CCE is triggered by classloading so the change I made should catch all CCEs, not let 
them out.
Finding this will really help, I suspect there is more than one entry point in the ULR.

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-06-05 Thread Bordet, Simone

Hi Dave,

 Well after alot of tracking down it looks like it is comming from the
 JVM itself. 

Yes, CCE are only thrown from the JVM code.

Sorry, I was not clear before.
I see you are using JMX to invoke some method, yes ? 
Let's call it target method, you call it from CCRAAbstract.invokeMethod(...), right ?
Check inside the target method if you do:

-loadClass()
-newInstance()

or, recursively, if you call some method that does this (just wrap the whole target 
method into a try/catch(CCE x)).

Do you ever arrive to the target method ? If so, that's good, otherwise, a more 
difficult.

Waiting for news,

Thanks

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-06-05 Thread Bordet, Simone

Hi Dave,

 Actully does not this part of the JVM spec basically say it all ...
 
 5.3.2 Loading Using a User-defined Class Loader
 The following steps are used to load and thereby create the nonarray
 class or interface C denoted by N using a user-defined class loader L.
 
 First, the Java virtual machine determines whether L has already been
 recorded as an initiating loader of a class or interface denoted by N.
 If so, this class or interface is C, and no class creation is 
 necessary.
 
 Otherwise the Java virtual machine invokes loadClass(N ) on L.1 The
 value returned by the invocation is the created class or interface C.
 The Java virtual machine then records that L is an initiating 
 loader of
 C (§5.3.4). The remainder of this section describes this 
 process in more
 detail.

Hehehe, no, it does not say it all.
IMHO the algorithm implemented in the JVM code is buggy, since it assumes too much 
(the details on how much is 'too much' are too long to be explained here).
For example, the JVM spec does not specify what happens when 2 threads try to load the 
same class with the same classloader. 
Nor what happens if a thread waits because it is expecting some state change while 
another thread comes in.
The JVM spec is a spec, ie it says quite a lot, but not too much ;)

Read my previous post, and let's try to figure this out.

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-06-05 Thread Bordet, Simone

Hi Dave,

 OK. wrapped up the target method in CCE. These are thrid 
 party libs and
 I believe smoewhere in the bowels they use forName() and 
 newInstance().
 What I don't understand is why I do not see it going through 
 the UCL. or
 at least a classloader. 

I guess because they're using their own classloader, probably in StreamUtil.java.
I see they're obfuscated, so I guess you don't have access to the source code, do you ?

Are these 3rd party libs in the classpath, or they're loaded by JBoss ?

Simon

 Here is the bt
 11:48:58,960 ERROR [STDERR] java.lang.ClassCircularityError:
 com/entrust/toolkit/util/ByteArray
 11:48:58,990 ERROR [STDERR] at
 com.entrust.toolkit.credentials.b.a(StreamUtil.java)
 11:48:59,000 ERROR [STDERR] at
 com.entrust.toolkit.credentials.l.b(InternalStreamProfileReader.java)
 11:48:59,010 ERROR [STDERR] at
 com.entrust.toolkit.credentials.Profile.a(Profile.java)
 11:48:59,020 ERROR [STDERR] at
 com.entrust.toolkit.credentials.Profile.init(Profile.java)
 11:48:59,029 ERROR [STDERR] at
 com.entrust.toolkit.User.login(User.java)
 11:48:59,050 ERROR [STDERR] at
 com.candata.gateway.EncryptionService.init(Unknown Source)
 11:48:59,059 ERROR [STDERR] at
 com.candata.gateway.EncryptionService.createMsg(Unknown Source)
 11:48:59,070 ERROR [STDERR] at
 java.lang.reflect.Method.invoke(Native Method)
 11:48:59,079 ERROR [STDERR] at
 org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(Reflec
 tedMBeanDispatcher.java:284)

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-06-05 Thread Bordet, Simone

Hi Dave,

 I have decompilied it before to make some sense of it. I now 
 there is a
 class.forName and a newInstance but I don't think they use there own
 classloader.

Uhm.

 All of the classes are in the deploy directory not in the 
 jboss lib dir.
 The -sevice.xml file that starts this is has them in a classpath def
 pointing to the current directory. Where it is dieing it is simply
 reading a file that has the x509 certificate info. 

Ok, can you do one more test ?
Can you please print the classloader for your classes, via for example:

com.candata.gateway.EncryptionService.class.getClassLoader()

and for the lib classes, via for example:

com.entrust.toolkit.User.class.getClassLoader()
com.entrust.toolkit.credentials.Profile.class.getClassLoader()

I think Class.forName may be the source of the problem, as bypasses a direct call to 
the classloader, going directly to the JVM class cache.

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] UnifiedLoaderRepository deadlocks

2002-05-31 Thread Bordet, Simone

Hi Adrian,

 3.0RC4
 The testsuite doesn't hang, and it passes a simple test that 
 failed on the
 previous version (I'll add it to the testsuite this weekend + 
 other more
 complicated tests). Thanks for applying this.

I saw also HEAD passed tonight :)
Can I sak you to link to the testsuite also a testcase that Sacha submitted, and that 
is now under testuite/.../classloader/concurrentload ?
I am still not that familiar with the testuite :P

 I think there is still a problem with the ordering for
 findClass(String) (and possibly getURLs() - but not very likely)
 It will lock this before the reentrantLock which is the opposite of
 loadClass(String, boolean, ClassLoader).

Yes, but those 2 methods are called rarely. Also, it is not possible to implement them 
just calling reentrantLock.acquire/release, as I need also the logic of 
isThreadAllowed() to set the current thread (and this would mean to call synchronize, 
but I don't have the classloader to wait on). Not a big deal, but on which object make 
the thread waiting ?
I thought as a first try to leave them as is, to see if tha last changes were working.

 Also is synchronizing on lock necessary? It is already 
 synchronized on
 the rentrantLock for these private methods.
 Is there a reason why these methods can't be inlined to save on stack
 opertions?

No, I guess it can be removed now.

I will work on it later this afternoon, or this weekend.

Thanks for the feedback !

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-05-31 Thread Bordet, Simone

Hi,

so I dug into the hotspot code for JDK 131, and I found the problem. I am too tired 
now to think for a solution, this is for you brave guys :)

The problems arises from a 20 lines of code in 
src/share/vm/memory/systemDictionary.cpp (attached), method 
resolve_instance_class_or_null(...).
The loading mechanism of the JVM is done in 2 steps:

1- look in a dictionary, if not found, put there a placeholder, then
2- load the class, calling loadClassInternal().

Thread A comes in asking for class cls1 with classloader cl1, the class has never 
been loaded, put a placeholder in the dictionary, and call loadClassInternal.
Thread B comes in asking for class cls1 with classloader cl1, there is already a 
placeholder, throw CCE.

The key is to ask for the same class with the same classloader.

I think this may happen with the UnifiedClassLoader scheme in several occasions, a 
simple example being:

class Base {}
class Derived1 extends Base {}
class Derived2 extends Base {}

If Base is loaded by classloader1, and we have 2 threads trying to load one Derived1 
and one Derived2 (and both need Base), we end up with 2 thread using the same 
classloader to load the same class, and the JVM code throws CCE. 

I wrote a simple testcase (attached), but it does not use JBoss classloaders, however 
should be trivial to code it against JBoss codebase. If someone can take care of it... 
thanks :P

As I said I did not think enough to find a solution, but at least we all know where to 
start.

Cheers

Simon

PS: it seems attachments are not allowed ?

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] ClassCircularityError - PROBLEM FOUND !

2002-05-31 Thread Bordet, Simone

Hi,

 Are you sure? 

No, I *think* so.

 From your desription it would seem that the reason
 loadClassInternal is syncronized is to stop this case from happening.

I think the main assumption of the JVM code is that noone waits during a 
loadClassInternal() call on the classloader itself, thus releasing its lock. This is 
what happens in JBoss classloaders. If someone does so, then the dictionary has a 
placeholder, but the class is not loaded. If some other thread enters and ask for the 
same class with the same classloader (and it can because the first one released the 
lock on the classloader - it's waiting), then the CCE is thrown.
I have written a small test case that shows this problem without using JBoss' 
classloaders.
It's a JDK bug or a feature ? ]:)

Simon

 The way you are describing it it would not make any differnce, and the
 resolve_instance_class_or_null is not thread safe.
 
 
 On Fri, 2002-05-31 at 12:13, Bordet, Simone wrote:
  Hi,
  
  so I dug into the hotspot code for JDK 131, and I found the 
 problem. I am too tired now to think for a solution, this is 
 for you brave guys :)
  
  The problems arises from a 20 lines of code in 
 src/share/vm/memory/systemDictionary.cpp (attached), method 
 resolve_instance_class_or_null(...).
  The loading mechanism of the JVM is done in 2 steps:
  
  1- look in a dictionary, if not found, put there a placeholder, then
  2- load the class, calling loadClassInternal().
  
  Thread A comes in asking for class cls1 with classloader 
 cl1, the class has never been loaded, put a placeholder in 
 the dictionary, and call loadClassInternal.
  Thread B comes in asking for class cls1 with classloader 
 cl1, there is already a placeholder, throw CCE.
  
  The key is to ask for the same class with the same classloader.
  
  I think this may happen with the UnifiedClassLoader scheme 
 in several occasions, a simple example being:
  
  class Base {}
  class Derived1 extends Base {}
  class Derived2 extends Base {}
  
  If Base is loaded by classloader1, and we have 2 threads 
 trying to load one Derived1 and one Derived2 (and both need 
 Base), we end up with 2 thread using the same classloader to 
 load the same class, and the JVM code throws CCE. 
  
  I wrote a simple testcase (attached), but it does not use 
 JBoss classloaders, however should be trivial to code it 
 against JBoss codebase. If someone can take care of it... thanks :P
  
  As I said I did not think enough to find a solution, but at 
 least we all know where to start.
  
  Cheers
  
  Simon
  
  PS: it seems attachments are not allowed ?
  
  ___
  
  Don't miss the 2002 Sprint PCS Application Developer's Conference
  August 25-28 in Las Vegas -- 
 http://devcon.sprintpcs.com/adp/index.cfm
  
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 ___
 
 Don't miss the 2002 Sprint PCS Application Developer's Conference
 August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-Dev] DeployServiceUnitTestCase.testDependsElement failure

2002-05-30 Thread Bordet, Simone

Hi,

 I think I've found the problems.
 
 Problem 1
 -
 A does a normal loadClass() - no lock on UCL
   it gets past synchronise into the main routine
 B does a loadClassInternal() - locks the UCL
 A reaches unsynchronise, aquires the reentrantLock, releases
   itself as the currentThread and waits on the UCL
 B runs synchronise which tries to aquire the reentrantLock
 
 Result
 A holds the reentrantLock and is waiting for the UCL
 B holds the UCL and is waiting for the reentrantLock
 
 Problem 2
 -
 A is the current thread in the repository
 B does a loadClassInternal() - locks the UCL
 C does a loadClass, synchronise, aquires the reentrantLock,
   it cannot continue because A is the currentThread, it waits 
 on the UCL
 B runs synchronise which tries to aquire the reentrantLock
 
 Result
 C holds the reentrantLock and is waiting for the UCL
 B holds the UCL and is waiting for the reentrantLock
 A will hit a problem when it tries to unsynchronise
 
 Moving the cl.notifyAll() to after the reentrantLock.release() in
 unsynchronize() fixes problem 1.
 
 Moving the reentrantLock.release() before the syncrhonized(cl)
 in synchronize() fixes problem 2
 
 My testsuite now completes without hanging. :-)
 
 But
 // This release() must be inside the synchronization block on the 
 classloader
 // to avoid that a notifyAll() will arrive before the wait() 
 below, see 
 unsynchronize()

Uhm, I think this constraint can be removed.
Adrian, I am incorporating your suggestions as we speak, and I will also make ULR a 
single threaded class for every method.

Thanks for the great catches.

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] UnifiedLoaderRepository deadlocks

2002-05-30 Thread Bordet, Simone

Hi,

I have updated the ULR in HEAD to incorporate latest Adrian Brock's suggestions 
(thanks Adrian), and made the relevant methods single threaded.
Adrian, if you can check if the changes I made correctly implement your suggestions, 
will be great.

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-Dev] DeployServiceUnitTestCase.testDependsElement failure

2002-05-30 Thread Bordet, Simone

Hi,

 I don't see how we can guarentee that there will not be deadlocks
 by focusing on making the ULR single threaded since that is not
 the point of locking that we do not have control over. 

Yes. Making the ULR single threaded is an orthogonal issue (will make the ULR 
simpler), but the real mechanism is to wait on the classloader, releasing its lock.

 The potential problem here is the native method defineClass0 
 which invokes
 loadClassInternal(*). In this case it happens to be the same 
 class loader
 that starts the trace at loadClassInternal(+). If however, it was a
 different class loader that another thread happened to have called
 loadClassInternal, that needs this class loader, there is nothing that
 can be done to avoid the deadlock using the instances that the threads
 have access to. 

Not sure I follow you.
The mechanism used now in ULR will do this:
- ULR.loadClass is single-threaded: only one thread at a time can load classes.
- All other threads that try to load classes concurrently are forced to wait on the 
classloader they're asking the class, thus releasing its lock.

This should ensure that all threads have released the lock on the classloaders while 
one loads classes. Or am I missing something ?
This is the intent; if it is possible to implement it is another story :) 
I think it is, but maybe there are other (simpler) solutions.

 One solution is to have the public UCLs be simple facades 
 over the actual
 UCL2s that sit in the ULR and perform the actual class 
 loading. On entry
 into a UCL.loadClass() method, a simple singleton lock can be used to
 ensure that only one thread is able to interact with the UCL2s in the
 repository. Since we control the thread accessing the UCL2s 
 there cannot
 be but a single thread invoking the syncrhonized 
 loadClassInternal method
 and
 it does not matter how many other UCL2s loadClassInternal are 
 invoked in
 the process of resolving the requested class.

That's interesting.
It seems similar to the new mechanism where the ULR is doing the 
only-one-thread-at-a-time filtering, but may result simpler.
I don't know if it carries other problems, but is worth a try.

 As a side note there is this comment in code that makes up 
 defineClass0
 javavm/runtime/classresolver.c line 2074
 if (loader) {
 /* Although class loaders are supposed to define loadClass as
 * a synchronized method, the VM does not trust the class loader
 * to do so. It enters the loader monitor just in case.
 */
 monitorEnter2(ee, obj_monitor(loader));
 } else {
 SYSLOADER_LOCK(self);
 }
 
 so it would seem the class loader mutex is going to be acquired by
 the VM somewhere other than loadInternalClass.

Which, even in case of fix for Jung's RFE - where one can override loadClass removing 
the synchronized modifier - leads to the classloader being locked by JVM code, so it's 
the same ol' story...

Cheers

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] UnifiedLoaderRepository deadlocks

2002-05-30 Thread Bordet, Simone

Hi Dave,

 How about in the 3_0 branch? 

Scott will decide.

Simon

 On Thu, 2002-05-30 at 12:12, Bordet, Simone wrote:
  Hi,
  
  I have updated the ULR in HEAD to incorporate latest Adrian 
 Brock's suggestions (thanks Adrian), and made the relevant 
 methods single threaded.
  Adrian, if you can check if the changes I made correctly 
 implement your suggestions, will be great.
  
  Cheers
  
  Simon
  
  ___
  
  Don't miss the 2002 Sprint PCS Application Developer's Conference
  August 25-28 in Las Vegas -- 
 http://devcon.sprintpcs.com/adp/index.cfm
  
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 
 ___
 
 Don't miss the 2002 Sprint PCS Application Developer's Conference
 August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] UnifiedLoaderRepository deadlocks

2002-05-30 Thread Bordet, Simone

He makes fast decisions :)

 -Original Message-
 From: Bordet, Simone 
 Sent: giovedì 30 maggio 2002 18:31
 To: [EMAIL PROTECTED]
 Subject: RE: [JBoss-dev] UnifiedLoaderRepository deadlocks
 
 
 Hi Dave,
 
  How about in the 3_0 branch? 
 
 Scott will decide.
 
 Simon
 
  On Thu, 2002-05-30 at 12:12, Bordet, Simone wrote:
   Hi,
   
   I have updated the ULR in HEAD to incorporate latest Adrian 
  Brock's suggestions (thanks Adrian), and made the relevant 
  methods single threaded.
   Adrian, if you can check if the changes I made correctly 
  implement your suggestions, will be great.
   
   Cheers
   
   Simon
   
   ___
   
   Don't miss the 2002 Sprint PCS Application Developer's Conference
   August 25-28 in Las Vegas -- 
  http://devcon.sprintpcs.com/adp/index.cfm
   
   ___
   Jboss-development mailing list
   [EMAIL PROTECTED]
   https://lists.sourceforge.net/lists/listinfo/jboss-development
  
  
  
  ___
  
  Don't miss the 2002 Sprint PCS Application Developer's Conference
  August 25-28 in Las Vegas -- 
 http://devcon.sprintpcs.com/adp/index.cfm
  
  ___
  Jboss-development mailing list
  [EMAIL PROTECTED]
  https://lists.sourceforge.net/lists/listinfo/jboss-development
  
 
 ___
 
 Don't miss the 2002 Sprint PCS Application Developer's Conference
 August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-Dev] DeployServiceUnitTestCase.testDependsElement failure

2002-05-29 Thread Bordet, Simone

Hi,

 The hang is not predictable, but it is mostly on the 
 RaTopicUnitTestCase.
 Trying to dump the threads crashes the VM, but below is the start
 of one of the dumps. It appears to be a deadlock in the
 UnifiedLoaderRepository.
 
 Looking at the code, there might be an ordering problem between
 synchronized(this) and becoming the currentThread.
 
 e.g.
 A starts with removeClassLoader and synchronizes on the ULR
 B starts with loadClassInternal and synchronizes on the ClassLoader
 B becomes the currentThread
 B reaches the synchronized(this) in loadClass and waits on the ULR
 A sends a notification which leads to a loadClassInternal
 A isn't the currentThread and waits in synchronize(ClassLoader)
 
 Result
 A is waiting to become the currentThread (held by B)
 B is waiting on the ULR (held by A) with its classloader locked

If that's the case, then I think there is no other choice than using the reentrant 
lock for every method of ULR, so that the code is wrapped into a try/finally 
(acquire/release).
Adrian, can you try the above to see if it works ?

Thanks

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Crap! Classloader problems again

2002-05-24 Thread Bordet, Simone

Hi,

 I am using jboss 3.0 rc3. I am seeing a classloader lockup when I am
 deploying an ear file. The two threads are below. I noticed that Simon
 updated the classloader code , does this fix it? Is it only on the 3.1
 branch?

It is supposed to fix it, for now is in 3.1, but unfortunately I'm not yet done.
I discovered 1 minute ago that there is still a problem :(

Simon

___

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Workaround for CL stuff

2002-04-22 Thread Bordet, Simone

Hi,

 Where does the loadClassInternal() intervene?

It is called by the JVM when it has to resolve class dependencies.

Say you have class A that has a data member of class B.
When a CL is asked to load A, it inspects the class and see that it needs to load also 
B. This is done at native level, and while a classloader is loading class A, the JVM 
calls loadClassInternal() on the *same* thread and on the *same* classloader to load 
class B; this may trigger another call and so on recursively. If the classloader 
delegates to some other classloader you can have deadlock.
There is a call for loadClass, some more call on java code, then a call to native 
method, and if the native method decides it has no sufficient information it calls 
back java code, it's java - native - java.

loadClass()
  ...
defineClass() [is this the native one ?]
  loadClassInternal() 
loadClass()

I experienced the deadlock problem in another project at work, and it happened to me 
at startup (when not all classes are already loaded and thus loadClassInternal() is 
called frequently). 

A typical scenario for me was this one: jar1 with a set of related classes, and jar2 
with another set, but the 2 jars interacts and are loaded by different classloaders. 
When something is started in jar1, not all classes in the jar are loaded; the 
start triggers loading from jar2 that happens to load some class from jar1 that was 
not already loaded.

I solved this problem in my project using reflection in the small part that had this 
problem (no data member directly referencing the class). I don't know if this is 
doable also in JBoss (waaay larger than my project :)

Hope helped

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Workaround for CL stuff

2002-04-22 Thread Bordet, Simone

Hi Marc,

 Simone,
 
 I still don't see the problem clearly, please help me.

Will try to do my best. I used the now old (thanks to you) classloader delegation 
model in my project, so you probably have to integrate me with the JBoss stuff 
(correct me if I'm wrong) :)

 |classloader delegates to some other classloader you can have 
 deadlock.
 
 this I don't see, you seem to jump to the conclusion, can you 
 please walk me?

You have 2 threads, both waiting for something, just started, so not classes have been 
loaded yet. (see Dave Smith post for stack trace and example).
Thread CCRAPoll (call it Encryption thread) asks the CtxCL to load something. CtxCL 
is some JBoss UCL.
Other thread is Thread-20 (call it Login thread) again uses the CtxCL.
Both CLs don't know the class and delegate to the UnifiedRepository which iterates on 
the CLs asking.
Same does the other thread. If you are unlucky, deadlock. Can you see it now ?
Say you have only 2 CLs 
thread1 does: CL1.load(A) - ULR.load(A), CL1.load(A), can't find it, iterates 
on CLs (only CL2) - CL2.load(A);
thread2 does: CL2.load(B) - ULR.load(B), CL2.load(B), can't find it, iterates 
on CLs (only CL1) - CL1.load(B);

Imagine the first load is triggered by loadClassInternal() (see Encryption thread, 
PKCS7EncodeStream.e() have to load some class, and loadClassInternal is called, this 
syncs a JBoss UCL); the second load calls UCL.loadClassLocally() which calls super, 
which is sync'ed as well :) Bang ! See it now ?

Thinking loud for a solution:

1- Resource ordering may help ? I mean if you don't iterate on CL in ULR, but first 
you order them, then loop ? Not sure it will work in all cases...

2- What if you don't call super() which is sync'ed and you make other 2 UCL, one that 
wraps jre/lib/ext and one that wraps the classpath, both with parent the boot CL 
(ie null) ? Don't know if the boot classloader is sync'ed somewhere in native code... 
Make the flat classloader space in orbit around the boot classloader, not the system 
classloader...

3- The more I think the more it seems to me that if you sync all CL in the correct 
order you can get out...
Kind of:

sync(cl1) {
  sync(cl2) {
sync(cl3) {
  ..
sync(cln) {
  cln.loadClass(..)
}
  }
}
  }
}

where cl1  cl2  cl3  ...  cln and there is a clearly defined operator  between 
classloaders (hashcode may help, is it unique when we talk of Object.hashCode() ?)

Of course since you don't know a priori the number of classloaders you have to use 
some fancy Doug Lea's classes :)

Good coding, I know you like this stuff :)

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Workaround for CL stuff

2002-04-22 Thread Bordet, Simone

Hi,

 The major problem (and the starting point of the whole thing) 
 is that when
 classes are being loaded the JVM can call 
 loadClassInternal() on multiple
 class loaders at the same time.  This method is synchronized and so
 immediately two different threads have locked two different 
 class loaders,
 let us say Thread A has locked ClassLoader A and Thread B has locked
 ClassLoader B.

Also ClassLoader.loadClass(String, boolean) is sync'ed. It's not a problem of 
loadClassInternal IMHO.
Also the UCL at the end calls super.loadClass() (in loadClassLocally()) so...

 Now loadClassInternal simply calls the loadClass method of 
 the respective
 class loader and so if you have a class loader (like the JBoss
 UnifiedClassLoader) which can delegate to other class loaders (via
 UnifiedLoaderRepository) to load classes you can get a situation where
 Thread A now wants to access synchronized methods in ClassLoader B and
 Thread B wants to access synchronized methods in ClassLoader 
 A and neither
 can because of the earlier locks already gained, hence deadlock.

Correct.

 This bought about by the fact that the private 
 loadClassInternal() method
 is synchronized and can be called pretty much at any time by 
 the JVM.  

Not only. It's a startup problem IMHO: until all classes are cached by ULR, you may 
find that UCL calls super.loadClass() and you have the same problem.

 The only way you could work around the problem is if you 
 could synchronize
 on some common object before loadClassInternal is called, but 
 since this is
 called rather unpredictably directly from the JVM I don't 
 know if there is
 any way to do this.
 
 Why the F*K loadClassInternal() is synchronized is a 
 complete mystery as
 all it does is call loadClass() which can be synchronized 
 if it needs to
 be.

It is sync'ed, and would lead to the same problem, no ?

I *think* (but not sure) that loadClass is sync'ed to ensure correct class 
initialization. If 2 threads go step-by-step in parallel to load the same class with 
the same CL, somewhere you have to sync to initialize the class only once...
I agree that sync'ing so high it's an implementation mistake, they could have sync'ed 
around shared data structures, as ULR does.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] jboss-mx Build under WinME?

2002-03-08 Thread Bordet, Simone

Hi Trevor,

 I normally build jboss-mx under Unix or NT but just tried to 
 build.bat under WinME and get loads of errors about command 
 not found (seemingly related to doing a call on a label).
 
 Is this supposed to work under WinME?

WinME normally barfs when:
1 - long shell commands are executed (has a ridiculous low limit of char
for each command)
2 - some NT/W2K shell extension not available in WinME is called

HTH

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] CVS update: jboss/src/main/org/jboss/monitor BeanCacheMonitor.java BeanCacheMonitorMBean.java

2002-02-23 Thread Bordet, Simone

Hi David,

 Is this in active use? 

I don't think so.
It ages back to early 2.0 times when I coded the cache and wanted to offer some 
monitoring capabilities to JBoss.
It still can be useful though.

 Is the interface/way it works etc. 
 fixed in stone?

No, I mean everyone can change it following the evolution of JBoss, as you explain 
below.

Regards

Simon

 Since everything is turning into mbeans, including (already) 
 the Container,
 I'd like to see this work in a different way:
 
 (Entity and SFSB)Containers implement the cache snapshot as a managed
 attribute (read-only).  Then you can look at any one bean easily.
 
 BeanCacheMonitor turns into a mbean query on the mbeans you 
 want to look at
 + projection onto the snapshot attribute.
 
 Along related lines...
 
 How about putting the ejb type and ejb-module parent as 
 components of the
 ejb container object name?  This would make finding particular ejb
 containers much easier using the query facility.  For 
 instance, you can do
 a query to find all entities in an ejb-module.  Or should we use the
 relation service for this?
 
 Thanks
 david jencks

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] CVS update: jboss/src/main/org/jboss/monitor BeanCacheMonitor.java BeanCacheMonitorMBean.java

2002-02-22 Thread Bordet, Simone

Hey David,

 Subject: [JBoss-dev] CVS update: jboss/src/main/org/jboss/monitor
 BeanCacheMonitor.java BeanCacheMonitorMBean.java
 
 
   User: d_jencks
   Date: 02/02/22 14:54:25
 
   Modified:src/main/org/jboss/monitor BeanCacheMonitor.java
 BeanCacheMonitorMBean.java
   Log:
   made jndi view and bean cache monitor work again.

Thanks for the update :)

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Atlanta java user group tonight JAN 15 2002

2002-01-15 Thread Bordet, Simone

Hey Marc,

 I plan on sticking to a very simple presentation, we are 
 free and don't suck, how about you?

Isn't this too complex (maybe) ? ;)

Ahh, it's a pity I cannot come...

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] CVS update: newsite/src/docs xmbean.dtd

2002-01-13 Thread Bordet, Simone

Hi David,

!ELEMENT attribute (description?, name, type, access?)
!ATTLIST attribute persistPolicy CDATA #IMPLIED
getMethod CDATA #IMPLIED
setMethod CDATA #IMPLIED 
persistPeriod NMTOKEN #IMPLIED
currencyTimeLimit NMTOKEN #IMPLIED 
  
 It might be a good idea to include the time unit in the 
 duration names. 
 Also currencyTimeLimit sounds a bit like it refers to money.  
 Would a name
 like instanceTimeOutMinutes work?

Well, currencyTimeLimit is what is defined by the spec for modelmbean; changing its 
name will require a legend that explains that instanceTimeOutMinutes in the XML will 
map the currencyTimeLimit field in the Descriptor.
I would stay with Juha here, even if the name chosen by the spec is really awful.

Regards

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] bin/privatekeys bin/BeanCacheMonitor*.jar

2002-01-04 Thread Bordet, Simone

Hi Jason,

 Is there source anywhere in cvs directly?  

No, the single source file is directly inside the jar; the only presence in CVS is the 
jar itself, that's the reason why they might be very old: they are not built.
It was a simple example of how it is possible to monitor the bean cache, still useful 
IMHO if JBoss will provide the monitoring capability of the server.
Juha was working on a nice gui for monitoring, the admin package under contrib if I 
remember well...

 Do they belong in 
 bin/ or in
 client/?

Well, under client/ I normally think of jars required by client to use JBoss; I did 
not want the users to copy these jars in their clients, thinking that they are 
necessary to use JBoss :)
That's why they're under bin/.
Maybe a better place would be examples/monitoring/.
Feel free to move them.

 I was trying to clean up the release tree for the 3.0 release 
 (when ever
 that might happen).

Yes, I guessed so :)

Cheers

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] RequiredModelMBean.java? / general rantings

2001-12-02 Thread Bordet, Simone

Hi,

jumping in late...
OpenJMX will soon release an implementation of RMMB with pluggable
logging redirection and pluggable persistence mechanism. See
http://sourceforge.net/projects/openjmx for details.

Cheers

Simon

 -Original Message-
 From: marc fleury [mailto:[EMAIL PROTECTED]]
 Sent: domenica 2 dicembre 2001 16:33
 To: David Budworth; Juha-P Lindfors
 Cc: [EMAIL PROTECTED]
 Subject: RE: [JBoss-dev] RequiredModelMBean.java? / general rantings
 
 
 So much the better, you get to work on stuff that Juha wrote 
 for the book
 and will save you some time.  You even get to use it in your 
 application if
 you want, seems like JBoss3.0 is providing a lot of 
 infrastructure for you.
 
 Your help will be much appreciated on that base,
 
 marcf
 
 |-Original Message-
 |From: David Budworth [mailto:[EMAIL PROTECTED]]
 |Sent: Sunday, December 02, 2001 4:50 AM
 |To: Juha-P Lindfors
 |Cc: David Budworth; [EMAIL PROTECTED];
 |[EMAIL PROTECTED]
 |Subject: Re: [JBoss-dev] RequiredModelMBean.java? / general rantings
 |
 |
 |Ahh. ok.
 |
 |Well, it's obvious to me (as well as everyone else I 
 assume).  That you
 |know a lot more about this stuff than I do.
 |
 |So, I'll leave it to the experts.
 |
 |Thanks for replying.
 |
 |-David
 |
 |
 |On Sun, 02 Dec 2001, Juha-P Lindfors wrote:
 |
 |
 |
 | Hi,
 |
 |  Marc / everyone,
 | 
 |  When you asked about this Dynamic mbean thing I'm 
 working on, were you
 |  thinking of me applying it to RequiredModelMBean?
 |
 | I wrote a ModelMBean implementation for the book and will commit an
 | implementation based on it (with some other stuff) in the 
 next couple of
 | days.
 |
 |
 |  If I read correctly, we are required to supply an
 |implementation of that
 |  class, no?
 |
 | Just implementing the ModelMBean interface will be enough.
 |
 |
 |  1) What are the expectations for determining the 
 MBeanInfo?  Should we
 |  expect a XYZMBean interface to match the XYZ 
 implementation the user
 |  provides?  (similar to regular MBeans)
 | 
 |  This would be easy to add.  Since I already have the code that
 |walks the
 |  methods of any specified interface to compose the 
 operation/attribute
 |  info structures.
 |
 | The metadata can be built using introspection on the 
 resource class, read
 | from a database, read from a file, looked up from the JNDI. The
 | rules for introspection can follow the standard MBean 
 rules, or you can
 | create your own naming rules for a specific resource type.
 |
 |
 |  2) What should be the rules for determining the 
 operations/attributes?
 |  I have written and re-written this logic in my own code 
 about 15 times,
 |  never really happy with it.  Example, how to handle:
 | 
 |  int getXYZ();
 |  void setXYZ(float);
 | 
 |  Do you consider the get to be a RO attribute and one to be an
 |operation?  Or
 |  throw an exception for non-compliant naming?  I see 
 nothing in the spec
 |  regarding naming standards on dynamic mbean oper/attr
 | 
 |  or
 | 
 |  int getXYZ();
 |  void setXYZ(int);
 |  void setXYZ(float);
 | 
 |  Do we consider get/set(int) to be a RW attr, and 
 set(float) to be an
 |  operation? Or throw again?
 |
 | If you are talking about the Standard MBean behaviour, 
 that would cause a
 | NotCompliantMBeanException to be thrown. However, for 
 ModelMBeans you
 | could build your own resource types that allow this kind 
 of interface to
 | be handled differently.
 |
 |  As for persistence, have you finished rolling on the 
 floor laughing at
 |  my idea of using EJBs to store?  I have noticed that no other
 |components
 |  use EJBs for their JDBC based persistence.  Is there a 
 reason for this?
 |
 | The MMBean persistence can be abstracted behind a
 | simple PersistenceManager interface with load and store 
 operations. The
 | persistence implementation may then be file based, direct 
 JDBC, JDO or
 | EJB.
 |
 |
 | -- Juha
 |
 |
 | ___
 | Jboss-development mailing list
 | [EMAIL PROTECTED]
 | https://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] RH: TestSuite hangs - deadlock in ClassLoader.loadClass() ???

2001-11-22 Thread Bordet, Simone

Hi Jules,

 This is a full stack dump of a reproducible hang-up in the
 WebIntegration test-suite with Jetty4.
 
 Note the two threads which seem to be waiting on the same line of
 code
 
  at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
 
 This looks like a deadlock to me - has anyone else had a 
 similar problem
 ?
 
 Do any of those org.jboss.system folks have any ideas - or do I put on
 my debugging hat ?

We talked about this some time ago, I guess you're victim of
loadClassInternal...

What would be interesting here is to understand which is the classloader
couple that hangs, ie what are the monitor objects specified by the
sentence waiting for monitor entry, and what is the CL hierarchy at
that point.

Since I encountered a very similar problem in one of my projects, I
wrote a small utility class that uses JDI to inspect those monitor
objects, and understand who is blocking on what. Of course the problem
should be reproducible (or at least should happen often :). 
If you think the utility class may help you I can lend it to you, just
let me know.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] CacheKey copy semantics and speed

2001-11-14 Thread Bordet, Simone

Hey,

  So, if you're going to get rid of the MarshalledObject and 
 all the copying,
  why not just get rid of CacheKey all together?
 
 
 Hehe... if it is removed I have only one thing to say: told 
 you so... :-)
 
 /Rickard

eee, man this guy seem to *always* be right. Ah well, pure alien
category. 
Rickard, ehrm, who will win the football league this year ? :-))

Simon :)

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] RE: Deployment exception on Clustering

2001-11-12 Thread Bordet, Simone

Hey,

 Hi
 
 postRegister() is a callback method issued by the MBeanServer 
 before the
 MBean gets finally registered. You then can save the 
 MBeanServer you are
 connected to and change the MBean ObjectName before it is set.

This is done in preRegister, not in postRegister.

Simon


 I am still puzzled why you need a 2 stage startup process.
 The only reason I can assume is that you subclass the 
 ClusterPartition and
 then overwrite initService(). Wouldn't it be better to add a 
 method call in
 the startService() method like postInit() which is placed in 
 the middle of
 startService() ?
 
 Andy
 
 - Original Message -
 From: Bill Burke [EMAIL PROTECTED]
 To: Andreas Schaefer [EMAIL PROTECTED]; David Jencks
 [EMAIL PROTECTED]
 Cc: Sacha Labourey [EMAIL PROTECTED];
 [EMAIL PROTECTED]
 Sent: Monday, November 12, 2001 2:04 PM
 Subject: RE: [JBoss-dev] RE: Deployment exception on Clustering
 
 
  Rickard talked about something called postRegister?
 
   -Original Message-
   From: Andreas Schaefer [mailto:[EMAIL PROTECTED]]
   Sent: Monday, November 12, 2001 4:50 PM
   To: David Jencks
   Cc: Sacha Labourey; 
 [EMAIL PROTECTED]; Bill Burke
   Subject: Re: [JBoss-dev] RE: Deployment exception on Clustering
  
  
   Hi David
  
   You hear it. How can be use init() again for Clustering ?
  
   Andy
  
   - Original Message -
   From: Bill Burke [EMAIL PROTECTED]
   To: Andreas Schaefer [EMAIL PROTECTED]
   Cc: Sacha Labourey [EMAIL PROTECTED];
   [EMAIL PROTECTED]
   Sent: Monday, November 12, 2001 1:10 PM
   Subject: [JBoss-dev] RE: Deployment exception on Clustering
  
  
Yes this a very serious problem and it wouldn't show up 
 with your Farm
stuff.  THis is my fault because I didn't document the code
   very well, but
can we please switch this back?
   
In the init phase, all services register with the cluster
 (HAPartition)
   for
cluster events that want to listen to and also if they 
 require state
synchronization.  In the start phase, the ClusterPartition
   mbean does the
final Connect to the JavaGroups message Channel.  When 
 the Connect
   happens,
state synchronization starts.  Services will not have 
 their state
synchronized if everything is done in the start phase.
   
Bill
   
 -Original Message-
 From: Andreas Schaefer [mailto:[EMAIL PROTECTED]]
 Sent: Monday, November 12, 2001 3:50 PM
 To: Bill Burke
 Cc: Sacha Labourey; [EMAIL PROTECTED]
 Subject: Re: Deployment exception on Clustering


 Hi Bill

 I added all the code from init() into start(). Is 
 this a problem ?

 At least when I use the Farm it works like a charm.

 Andy

 - Original Message -
 From: Bill Burke [EMAIL PROTECTED]
 To: David Jencks [EMAIL PROTECTED];
   Andreas Schaefer
 [EMAIL PROTECTED]
 Cc: Sacha Labourey [EMAIL PROTECTED];
 [EMAIL PROTECTED]
 Sent: Monday, November 12, 2001 12:59 PM
 Subject: RE: Deployment exception on Clustering


  Guys,
 
  The clustering stuff is dependent on init and start 
 both being
 there.  Can
  we put back the init?  Otherwise you break our 
 stuff.  Why are you
   doing
  this anyways?
 
  Bill
 
   -Original Message-
   From: David Jencks 
 [mailto:[EMAIL PROTECTED]]
   Sent: Monday, November 12, 2001 2:33 PM
   To: Andreas Schaefer
   Cc: David Jencks; Bill Burke; Sacha Labourey;
   [EMAIL PROTECTED]
   Subject: Re: Deployment exception on Clustering
  
  
   Thanks, must have missed that one.
  
   I generally copied the init[Service] code and put it in
   start[Service]
 at
   the beginning, similarly for destroy.
  
   As far as I could tell, everything covered by the
   testsuite works as
 well
   after the changes as before.
  
   Please let me know of other problems.
  
   The Service interface still has init and destroy 
 since these are
   used
   heavily in the interceptor chain.  I think they are
   unnecessary, but
 won't
   have time to try to change them for a while.  This could
 probably
   be a part
   if turning the interceptor chains into mbeans.
  
   Thanks!
   david jencks
  
   On 2001.11.12 14:13:41 -0500 Andreas Schaefer wrote:
Hi David
   
The ClusterPartition.java class is not started correctly
because now init() is not called anymore and therefore
the JavaGroups JChannel are not initialized.
   
I will go ahead and fix it but maybe there are 
 other MBeans
out there which needs attention, too.
   
Thanx
   
x
Andreas Schaefer
Senior Consultant
JBoss Group, LLC
x
   
   
   
  
 
 


   
   
   

R: [JBoss-dev] Quick JMX question

2001-11-04 Thread Bordet, Simone

Hey Doug,

 Hey,
 
 I was trying to invoke a method on an MBEAN using 
 server.inoke and it won't
 work.
 
 It works fine when I try to inoke no arg methods like start() 
 or init()
 I call server.invoke(myObjectName, start, new Object[0], 
 new String0]);
 
 But when I try to call sendNotification it screws up.
 server.inovke(myObjectName, sendNotification, new Object[]{
 myDeploymentNotification }, new 
 String[]{javax.management.Notification});
 
 Is sendNotification not allowd to be invoke, or did I screw 
 up the signature
 or something?

Is sendNotification in the management interface of your MBean ? If not,
cannot be invoked through MBeanServer.invoke

HTH,

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: AW: [JBoss-dev] The rabbit has a bug in its pelt: org.jboss .system.URLClassLoader

2001-10-05 Thread Bordet, Simone

Hey,

 If the deadlock between these two classes can occur, CL1
 must use CL2 to load C2, and CL2 must use CL1 to load C1.
 But that would mean that CL2 is a parent of CL1, and CL1
 is a parent of CL2. I believe that circular class loader
 parentage is impossible in Java.
 
 But that is exactly the central design of the RH-ServiceLibraries! 

[snip]

 Since ClassLoader.loadClassInternal(String) and
 ClassLoader.loadClass(String,boolean) 
 are both synchronized on the instances, we could run into the 
 problem, no
 matter whether
 ServiceLibraries does or does not lock anything, right?

I agree.
I started thinking if there is a chance to use a model similar to the one of
Catalina, where they implemented a ClassLoader that does *not* delegate to
its parent to search classes
(org.apache.catalina.loader.StandardClassLoader).

There is no way to set up JBoss' URLClassLoaders in a non-circular tree and
use the proposal I outlined 2 days ago ?

Regards

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] java.lang.ClassLoader misery. Verify this patch!

2001-10-03 Thread Bordet, Simone

Hey, 

got some time and thought some more about this, which is exactly the same
problem I got in my project. Just to speak loud to clear things also to
myself.

Problem being resumed this way: 2 classloaders in chain, 2 threads

Boot
 |
Ext
 |
Sys
 |
CL1
 |
CL2

When you load something with CL2, this will delegate to its parent,
synchronizing progressively the whole chain until it finds the class. If
every class is loaded always starting from CL2 and up, then there will be no
problems: threads will wait until the one loading classes has finished.
Problem comes when thread T1 loads from CL2 up, but thread T2 loads from CL1
down. This may happen using the MLet classloader (as happens to me) or
ServiceLibraries: both have a flat set of CL on which they iterate to find
classes.

If T1 enters CL2, T2 enters CL1, T1 delegates to CL1 but have to wait for T2
to finish, which is waiting for CL2 to become free, hence deadlock.

To me the problem seems the 2 way lookup of classes; if it is possible
always to lookup in one direction (from bottom to top) deadlock should not
happen.

In my case I have no solution, since I use the MLet classloader; in JBoss'
case is it possible to lookup only in CL that are ancestor of the current
one ?
This would mean that MBeans cannot have circular dependencies. Is this
acceptable for current JBoss codebase or it is a too strict limit ?

I'm saying something like this in ServiceLibraries.loadClass(String,
boolean, ClassLoader) 

loadClass(...) 
{
   // search in the cache

   // not found in cache, try using asking classloader
   // (should guarantee bottom-top for delegation)

   // not local, try other classloaders
   while (allLoaders.hasNext()  (foundClass != null)) 
   {
  cl = (URLClassLoader)allLoaders.next();
  // Below the change
  if (!scl.equals(cl)  cl.isAncestorOf(scl))
  {
   foundClass = cl.loadClassLocally(...)
  }
   }
   ...
}

where org.jboss.system.URLClassLoader can simply re-implement isAncestorOf
that is package private in java.lang.ClassLoader.

Note that it is possible that the JVM or other Java mechanism will enter the
classloader chain in the middle (loadClassInternal, RMI's
loadClassFromClass) and if the classloader hit by these automatic mechanisms
will ask one of its heir to load classes, deadlock is possible.

Unfortunately I'm not familiar with 3.0 codebase, so the above may be plain
wrong or too restrictive for JBoss.

Comments ?

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] The rabbit has a bug in its pelt: org.jboss.system.URLClassLoader

2001-10-02 Thread Bordet, Simone

Hey Ole, 

as I said I have a small tool written with JDI that will tell you who is
holding what and who is waiting (so in the wait for monitor entry you'll
know who is the monitor)
If you wanna play, just tell me ;)

Simon

 -Original Message-
 From: Ole Husgaard [mailto:[EMAIL PROTECTED]]
 Sent: martedi 2 ottobre 2001 18:49
 To: [EMAIL PROTECTED]
 Subject: Re: [JBoss-dev] The rabbit has a bug in its pelt:
 org.jboss.system.URLClassLoader
 
 
 Hi,
 
 I think this bug is the reason for the problems
 we see with the automated tests.
 Here the test count sometimes gets very low due
 to the tests timing out.
 
 Looking into this is hard, as it seems to change
 with every run, but one thing seems to be common:
 The deployer stops working, and the timeouts
 happen because all attempts at deploying beans
 hang with a stack trace like:
 
 RMI TCP Connection(3)-127.0.0.1 daemon prio=1 tid=0x82a5a20 
 nid=0x5876
 waiting for monitor entry [0xbc7fe000..0xbc7ff8c4]
 at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:349)
 at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:305)
 at java.lang.reflect.Method.invoke(Native Method)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1628)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1523)
 at
 org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:495)
 at
 org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeploye
 r.java:473)
 at
 org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:209)
 at java.lang.reflect.Method.invoke(Native Method)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1628)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1523)
 at
 org.jboss.jmx.connector.rmi.RMIConnectorImpl.invoke(RMIConnect
 orImpl.java:400)
 at [snip]
 
 But I think this monitor is held by another thread
 that appears hung with a stack trace like:
 
 RMI TCP Connection(2)-127.0.0.1 daemon prio=1 tid=0x822fc68 
 nid=0x5813
 waiting for monitor entry [0xbdffe000..0xbdfff8c4]
 at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
 at
 org.jboss.system.URLClassLoader.loadClassLocally(URLClassLoade
 r.java:163)
 at
 org.jboss.system.ServiceLibraries.loadClass(ServiceLibraries.java:292)
 at
 org.jboss.system.URLClassLoader.loadClass(URLClassLoader.java:145)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:290)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
 at 
 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
 at java.lang.Class.getMethods0(Native Method)
 at java.lang.Class.getMethods(Class.java:742)
 at
 org.jboss.verifier.strategy.EJBVerifier11.verifyEntityHome(EJB
 Verifier11.java:762)
 at
 org.jboss.verifier.strategy.EJBVerifier11.checkEntity(EJBVerif
 ier11.java:121)
 at 
 org.jboss.verifier.BeanVerifier.verify(BeanVerifier.java:135)
 at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:445)
 at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:374)
 at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:305)
 at java.lang.reflect.Method.invoke(Native Method)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1628)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1523)
 at
 org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:495)
 at
 org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeploye
 r.java:473)
 at
 org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:209)
 at [snip]
 
 In this test run, I started the tests a little early:
 After server startup was finished, but before the
 autodeployer was done deploying the default rars.
 Here the autodeployer seems to hang with the following
 stack trace:
 
 AutoDeployer prio=1 tid=0x48d8c090 nid=0x5816 waiting for monitor
 entry [0xbc3fe000..0xbc3ff8c4]
 at
 org.jboss.system.ServiceLibraries.loadClass(ServiceLibraries.java:278)
 at
 org.jboss.system.URLClassLoader.loadClass(URLClassLoader.java:145)
 at
 org.jboss.system.URLClassLoader.loadClass(URLClassLoader.java:151)
 at 
 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
 at
 org.jboss.deployment.DeployerMBeanSupport.recursiveUnpack(Depl
 oyerMBeanSupport.java:551)
 at org.jboss.resource.RARDeployer.deploy(RARDeployer.java:166)
 at
 org.jboss.deployment.DeployerMBeanSupport.deploy(DeployerMBean
 Support.java:117)
 at java.lang.reflect.Method.invoke(Native Method)
 at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1628)
 at
 

RE: [JBoss-dev] JINI - JavaGroups - Whatever: real issue?

2001-09-12 Thread Bordet, Simone

Hi,

 A client (whether an application or server) should be able to 
 auto-discover
 the EJB proxy object anywhere in the network. This seems to be Jini's
 strength. Regardless of the discovery process, if I am making 
 a call on this
 proxy and the server is no longer available, the *proxy* 
 should reconnect to
 another server in the cluster. This should be this 
 transparent to the user.

This is possible also in Jini, via the LookupCache. 
The trick is the transparency for the client that should only do new
InitialContext().lookup(foo) and obtain the fail over proxy for the EJB.
I'm working on this part for a project (that unfortunately doesn't involve
JBoss, but is very similar to it, albeit waaay simpler), and it seems to me
there are 2 ways, using Jini:
- rewrite JNDI on top of Jini
- use Rickard's smartworld proxies (and I'm not sure if this will require
the former bullet, still investigating)

Don't know JG, but how do you (Bill, Sacha) plan to share the server state
among nodes ? Remote events ? JG specific stuff ?

Regards

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] JBoss 2.4.0 on Tru64 Unix machine follow up

2001-09-06 Thread Bordet, Simone

Hi,

 David, get a real VM

LOL, yeah, now we will have the HP JVM on HP Unix, THOSE sigsevs may be more
interesting ;)
Do HP have a JVM for its Unix at all ? Someone knows ?

Ah, well, life is change (TM)

simon @compaq.com (to be read @hp.com)

 |Here is the segmentation violation error (dump) that I'm getting when
 |trying to start up Jboss 2.4 on a Unix Tru64 machine.
 |Any help or suggestions would be appreciated.  Thanks.
[snip]

More seriously, which JVM which version of Tru64 ?
It always happen ? If it's reproducible, then you can file a bug for Tru64
engineers, drop me an email if you can't find them

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] NO PROBLEM IN CACHE i tell you READ YOUR CODE (to myself)

2001-07-06 Thread Bordet, Simone

Hey Vincent,

glad you solved your problems, and that was not a cache problem ;)

Do you mind to send an email to jboss-user (since I guess many there use
ejbdoclet, have seen the cache has problems and are not subscribed to
jboss-dev) briefly explaining what you have found ?

Many thanks

Simon


 This ejbdoclet gives me la puce a l'oreille.
 The problem comes from ejbdoclet.
 Of course.
 Why can I never finish something...
 
 The problem comes from how hashCode is calculated by ejbdoclet :
 
public int hashCode()
{
 int _hashCode = 0;
   if (_hashCode == Integer.MIN_VALUE)
   {
  _hashCode += this.pk.hashCode();
   }
 
   return _hashCode;
}
 
 With _hashCode being defined as private :
 
   private int _hashCode = Integer.MIN_VALUE;
 
 If you change that to
 
   transient private int _hashCode = Integer.MIN_VALUE;
 
 The problem disappear.  No need toString().
 
 If you follow my thread, you can understand what I am talking about.
 
 It should have been clear from the beginning :
 
 if (problem_in_the_cache == true)
 {
   while (pk.getClass().getMethod(hashCode).isFuckedUp())
   {
   pk.getClass().getMethod(hashCode).print(BOLD 
 ARIAL SIZE=60);
   pk.getClass().getMethod(hashCode).debug();
   }
 }
 
 That was a good one.
 Oh yes a good one, believe me two months telling the world 
 Cache in Jboss is
 bad.  Shame on me.
 
 jboss-developement.getUser(Vincent Harcq).banish();
 
 Vincent.
 
 
 
  -Message d'origine-
  De : [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]De la part de
  Vincent Harcq
  Envoyé : vendredi 6 juillet 2001 9:06
  À : [EMAIL PROTECTED]
  Objet : RE: [JBoss-dev] Any problems vith the cache in 2.4?
 
 
  Can you try this:
  1. Solution 1
  Add a toString to your PK (hack entitypk.j).
  Also put your Cache size very high.
  And your overager periods very high as well.
  2. Solution 2.
  Set your cache size to 1/1 (min/max)
 
  Let us know please.
  Vincent.
 
   -Message d'origine-
   De : [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED]]De 
 la part de
   Lennart Petersson
   Envoyé : jeudi 5 juillet 2001 11:55
   À : jBoss Developer
   Objet : [JBoss-dev] Any problems vith the cache in 2.4?
  
  
   Ok, please dont hang me, not now :-) I know that i'm not given
   you much details and no clean and short testcase but i still
   wanted to trigger your brains to give me some advice of how to
   preceed my debugging.
  
   Fact: Using CVS brancs 2.4 from 2001-07-04. CMP entity beans,
   commit option A, tuned updates, using isModified() method, using
   EJBDoclet code generator (still on 0.95 with some newer patches
   incorparated - like ejbPassivate() bug). Alwasy using a stateless
   Session Bean in front of the Entity Bean. All session bean
   methods that will result in a db update has TX_REQUIRED. All
   other session bean methods as TX_SUPPORTS. Oracle database and
   standalone clients.
  
   Problem scenario 1:
   A) Populates a GUI table with data originating from a findAll().
   B) User selects one row and details about that entity is looked
   up using a findByPrimaryKey()
   C) User change some attribute and this _IS_ stored in database
   D) User returns to the GUI table wich is repopulated using a
   findAll() --- Old value is seen
   E) User selects same row again details about that entity is
   looked up using a findByPrimaryKey() --- Correct vallue is seen
   F) Restart client, still old value in GUI table using findAll()
   but correct value in details frame using findByPrimaryKey.
   G) Restarting JBoss, now correcte value in both cases.
  
   When i'm debugging JBoss i can see that the findAll in D) is
   getting old values from the cache.
   If i change cache sizes to min=1 and max=1 the problem i no more!
   Should i take this for a evidence of JBoss bug rather then a bug
   i our code?
   Please note that if i'm doing a test bean and a short testcase
   for this scenario then i can't reproduce the error. Which as
   opposed to above makes our app more guilty or?
  
   Problem scenario 2:
   A) Viewing details from an entity in a GUI.
   B) Waits until the server has been idle from some hour or so.
   C) Trying to view details from this same entity again --- Now
   incorrect values are seen.
  
   This one i've not debugged att all. Guess that during B) beans
   are passivated due to them being out aged. Also please not that
   in this case the session bean in front of entity beans is a
  stateful bean.
  
   Are there anny know problems with caches/pools in JBoss 2.4?
  
  
   Are there any mysterios behavior noted by someon but not yet
  traced down?
  
   Also a bit off-topic: I'm using Bugseeker to debug my code and
   JBoss. Running on a P3 800 with 512 in memory and it is fu...ng
   slow!!! What are you using as a debug tool? I'm attaching to
   JBoss JVM as a remote process but still on same machine, guess i
   will have better performance if Bugseeker is 

RE: [JBoss-dev] new Threads.java (cache bug tests) is incomplete.

2001-07-03 Thread Bordet, Simone

Hey Bill,

 Sorry to chime in so late(we had a launch party for our 
 service built upon
 JBoss!)

Great !

 I wasn't saying that you shouldn't protect the cache or the 
 context, but for
 cache.release(ctx), again, why schedule the passivation?  Why not just
 passivate it.
 
 public void release(ctx)
 {
synchronized(getCacheLock())
{
   Object id = getKey(ctx);
   if (canPassivate(ctx))
   {
  if (getCache().peek(id) != null)
  {
 getCache.remove(id);
  }
  passivate(ctx);
   }
}
 }
 
 The above code protects the cache, but doesn't add the complication of
 another thread to do the passivation.  Simpler code.  Maybe 
 I'm missing
 something.  The above code protects a concurrently accessed 
 bean from being
 passivated, doesn't it?

Well, you're right: simpler code. 
For commit C you add the passivation time to every invocation (even if it's
small).
Furthermore, allows setting the passivation thread to a lower priority than
the invocation thread, reducing cache contention due to passivation.
Anyway it's an interesting point to debate, if it's worth removing the
complexity and loose some speed, or not.

I'll think some more on it.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] new Threads.java (cache bug tests) is incomplete.

2001-07-02 Thread Bordet, Simone

Hey Bill,

 Still, for Stateful beans, you're adding complexity for the 
 time between
 when the Stateful bean gets scheduled for passivation, and when the
 Passivator Thread actually runs.  Which is only a few 
 milliseconds, right?
 If the Stateful bean is scheduled for passivation, this 
 usually means that
 it has timed out.  It seems with the unscheduledPassivation 
 stuff, what
 you're really doing is just extending the configured timeout 
 period.  So why
 schedule passivation? Just do it.  Am I making any sense here?

Say you have a stateful bean, it gets out of the cache (which will happen
both in case of timeout and because is kicked out by other instances
inserted in the cache) and before being passivated a request for it comes
from a client. If I go on with passivation and create another instance, I
will end up with a passivated state in the filesystem and a cached state in
memory. The client now calls remove() (that removes the new instance from
the cache) and then a method: a bug in the client code of course, but since
there is a passivated state on the filesystem, it will be activated again...

Makes sense ?

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] new Threads.java (cache bug tests) is incomplete.

2001-07-02 Thread Bordet, Simone

Hi,

 that needs to be synchronized and simone does it in 2 steps... again I
 thought that was actually quite all right if not downright 
 elegant with the
 entity symetry... (he did do somethings right) 
[snip]

Ah, well, thanks !

Marc, since you get rid of the pool, do you use WaitSemaphore to wait/notify
or you wait/notify on the context ? 
That was a pain when I worked on it, but I believed the pool was somehow
necessary for performance, didn't want to remove it, and had a lot of
troubles with those reused instances, especially in case of exceptions.

Beware of:
1-Thread1 gets ctx and enters sync code in EII
2-Thread2 gets the same ctx and waits
3-Thread3 gets the same ctx and waits
4-Thread1 gets an exception, removes the ctx from the cache, must notifyAll
instead of notify.

And also:
1-Thread1 gets ctx and enters sync code in EII
2-Thread2 enters sync code in EII *before* Thread1 has arrived to the point
that the tx is set on the ctx in ContainerInterceptor (set/getTransaction
must be really synchronized even if they act on references, otherwise other
threads may not see updates, the Java Memory Model sucks).
3-Now you are LOCKING-WAITING (CONTEXT) but should really be LOCKING-WAITING
(TRANSACTION), be sure to notify correctly.

You probably already saw these, just wanted to help.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Logging Cache Hits

2001-06-04 Thread Bordet, Simone

Hey Vinay,
 
There is no way to track cache hits, but there is the possibility to track
cache misses (and almost every other cache activity). You have to set the
BeanCacheJMSMonitoringEnabled flag to true in the container factory MBean
(jboss.jcml), and then write a client that listen for the wanted messages on
the beancache topic.
See the 2 jars in dist/bin (sources are included) for monitoring the cache
using JMX and/or JMS (beware that may be out of date, especially the JMS
one, because of topic name changes). See also the code in
AbstractInstanceCache and LRUEnterpriseContextCachePolicy for JMS messages
sent on cache activity.
 
Hope helped,
 
Simon

-Original Message-
From: K.V. Vinay Menon [mailto:[EMAIL PROTECTED]]
Sent: lunedì 4 giugno 2001 13:07
To: User @ JBoss; Dev @ JBoss
Subject: [JBoss-dev] Logging Cache Hits


Hi,
 Does anyone know how to turn on cache hit tracking in JBoss without
recompiling the code!? Is this possible? I am trying to stress JBoss to
about as far as it can get [it has not yet fallen over!!! ] but the time for
queries seem a bit odd. I have large intial retrieval times and then they
fall off [as expected I guess dues to cache hits - want to confirm this
though]. But I do get spikes in the middle [probably because the number of
beans has reached a stage where passivation kicks in]. What I'd like to know
is whether successive queries actually hit the database or work [as
promised] by hitting the cache even under very high loads. I am testing with
about 1 client threads hitting the application server any where between
10milliseconds to about 1000 milliseconds on a huge Tru64 box. The queries
could return 1,15,150,1250 records depending on the type of client. The
underlying table has about half a million records and is an Oracle 8i
database. 
 
Regards,
 
Vinay


___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Catalina and Jboss2.2.1 InitialContext error

2001-05-11 Thread Bordet, Simone

Vincent,

  Is someone in touch with the Tomcat Mailing List ? 
 Otherwise I'll register
  and explain the problem.
 
 Please, yes.
 
  Any other thoughts ?
 
 I thought we could tried with another ejb container (wl for example)
 to be sure the problem does not come from the jnp module, but I don't
 have wl installed myself.

Well, I'm having this problem and I'm not using JBoss, but another
application I wrote, so I guess that's a Catalina problem.

I keep you informed about.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] RE: Option D - Take One !

2001-05-11 Thread Bordet, Simone

Hey Vinay,

[please plain text email]
 
 Hello Folks, 
 Took a wild shot at the Option D, timed cache invalidation. 
 Have put it in a separate interceptor that sits before the 
 EntitySynchronizationInterceptor and invalidates the 
 EntityEnterpriseContext at regular preset intervals. 

I would have written a simple TimerTask in a LRU cache policy, as I've done
for the stateful bean removal.
The issues (entity beans invalidation and stateful beans removal) are very
similar, aren't they ?

 1. There is an invalidation timer task per entity bean [I 
 persum per-EntityEnterpriseContext maps to per bean and not 
 per bean instance] 

I saw you use java.util.TimerTask. 
I reimplemented them because in the early days we wanted to be compatible
with jdk1.2.2, and these classes were added only in JDK 1.3. I don't know if
this constraint is still there (running the server in a 1.2.2 JVM) but...

 2. The refersh rate is currently set at 60secs but could be 
 moved elsewhere to the jboss config xml 

OK

 3. The Configuration Metadat now has an entry for option D. 

OK

 4. The interceptor does NOT reload the entity. It just 
 invalidates the cache. The entity reload is managed by the 
 EntitySynchronizationInterceptor. 

YES

 Does anyone want to go thru this and get back to me? 

As I've pointed out I would have written it with a org.jboss.util.TimerTask
in a LRUEntityContextCachePolicy subclass.
In there I would have locked the cache, walked all the cached context and
call setValid(false) on them, more or less like in the
LRUStatefulContextCachePolicy.
What do you think ?

Cheers,

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] RE: Option D - Take One !

2001-05-11 Thread Bordet, Simone

Marc,

 Simone,
 
 really, this is not a cache decision, AT ALL. The state 
 synchronization is
 the state synchronization with the DB, it is a different 
 domain.  The cache
 should not, does not, will not take state synchronization 
 decisions with
 respect to the database.  It is a store with passivation 
 policies.  It will
 decide about its passivation policies, i.e. it's memory 
 management, but
 certainly not how to refresh the state from db and to answer 
 a question you
 posed earlier, no, the state sync and the LRU algo are not the same.

I see your point, agree. I probably jumped into this class exercise without
thinking about it too much, it seemed simpler the other way, but at the end
semantically wrong.

 Finally (between us) let's try to focus on that one-thread 
 busy wait problem
 (the one that gives the LOCKING WAITING) I took privately 
 with you yesterday
 before we make this piece of code unecessarily complicated ;-)
 
 In clear let's fix the problems with the current cache before 
 we touch the
 other interceptors yeah?
 
 sorry to be violent, 

No problem, why then I nicknamed you grumpy JBoss ;) ?

 it is just that in *every* interceptor I 
 have looked at
 there is tons of work to be done, sometimes to make it just work.

Cheers,

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] TODO List on SourceForge

2001-05-08 Thread Bordet, Simone

H,

our grumpy JBoss is back, and what a comeback !!!

Marc, I'll suggest you to add TODO tasks on the sourceforge site, so that
it's easier to keep track of them, I would have added the ones you mentioned
here, but probably I don't have the admin privileges to add TODO tasks. See
http://sourceforge.net/pm/?group_id=22866

BTW, they are (till now):

1) URL JMX Installation
2) JBoss CMP Fast
3) Deployer
4) Commit option D
5) Transaction Isolation level
6) In memory CMP store
7) jboss.properties
8) General code cleanup, including
   o TPC importer and MI
   o Container factory CLs
   o ServiceControl and Jetty-JMX easy integration (as well as JSR 77
start/stop lifecycle interface)
   o ConfigurationService and the byte[] bug (solved perhaps ?)
   o Main.java and URL reading of MLets (related to bullet No 1, yes ?)

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JBoss+Tyrex

2001-05-08 Thread Bordet, Simone

Hey Anatoly,

 Hello, people
 
 I have spent the last few days stomping out the bugs from my 
 plugin to get
 Tyrex DTM to work together with JBoss.
 
 I am happy to inform you that it seems to be working just fine. I'll
 cleanup the code from my debugging messages and it is ready for
 commit. I've tested this beast with PetStore running in several
 deployments including a scenario that involves distributed 
 transactions 
 and checked that my mods to Interceptors don't break the current TM. 
 
 I know that this testing is not exhaustive, so, should I 
 still branch or
 commit into the main tree?

IMHO, would be fine to have it on the main trunk, you can benefit of the
testing that all the ones that checkout the latest code will do.
Also I think that release 2.3 is somewhat far from now, given also the TODO
list that Marc pointed out.

Of course you can always commit to a branch and merge later, but even then
you cannot be 100% sure that there are no bugs, so...
Since now there is a stable branch, people know they can checkout from the
main trunk dynamite code that doesn't work; so just tag the current code on
the main trunk, then commit your changes. If your code is broken, people can
always checkout a freezed 2.3 before your changes.

Any other thoughts ?

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] JavaOne T-shirts

2001-04-25 Thread Bordet, Simone

 Just curious if anyone is going to be going to JavaOne this year?

I will.

Hey Marc, what about the T-shirt idea that came up some months ago ?
Anyone still interested ? I thought that maybe it is possible to arrange few
of them and marketize them at J1 (yo, as you may have noticed I'm not a
marketeer (- marketing man), as will probably be thousands of people at J1,
just brainstorming :).
Why not organize a 'JBoss-day' at J1, something on the beach maybe ;) ?

Ah well, that's enough for today, here is holiday and I've just woke up,
gears grinding in my head, see ya lata...

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] JavaOne

2001-04-25 Thread Bordet, Simone

Hey,

 Party on the beach? what party on the beach?

No party ? U !!!

 try forced marches in the morning, brain excercise for lunch, 
 120 pushups in
 the afternoon, endoctrination for dinner, and rifle 
 manipulation at night...

Marc, but this is normal life !!!
I got bored of marches, pushups, hard coding, etc, etc ;)
Let's party !!!

 or you think we run this revolutionary group on Peace Love 
 and good Code
 alone ?
 
 well, yeah, we do...
 
 :)

:))

 marc
 
 BOF: Birds Of a Feather, the technical sessions in the 
 evening.  You coming
 simone? who's coming?

I will come to J1. Need to register for this BOF ? Never been to J1, and
there no mention of these BOF anywhere (unless I missed them), as I guess
yours will not be the only one.
If registration is needed, count me in. After it, we'll go party !

Party ! Party ! Party !

LOL !

Simon

 
 
 |-Original Message-
 |From: [EMAIL PROTECTED]
 |[mailto:[EMAIL PROTECTED]]On Behalf Of
 |Bordet, Simone
 |Sent: Wednesday, April 25, 2001 8:57 AM
 |To: '[EMAIL PROTECTED]'
 |Subject: R: [JBoss-dev] JavaOne
 |
 |
 |Hey,
 |
 | We are giving a BOF, mandatory presence for all those on this
 | list, free
 | tshirts
 |
 |What's BOF ?
 |
 |Oh, and the party on the beach ;) ?
 |
 |Simon
 |
 |___
 |Jboss-development mailing list
 |[EMAIL PROTECTED]
 |http://lists.sourceforge.net/lists/listinfo/jboss-development
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] JavaOne

2001-04-25 Thread Bordet, Simone

Hey,

 We are giving a BOF, mandatory presence for all those on this 
 list, free
 tshirts

What's BOF ?

Oh, and the party on the beach ;) ?

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Distributed Transaction Manager support (coming up)

2001-04-24 Thread Bordet, Simone

Hey,

 Anatoly Akkerman wrote:
 
  Hi,
  
  For the past couple of weeks I've been integrating Tyrex DTM
  (tyrex.exolab.org) into JBoss. Things are coming along and 
 in a few days
  I'll probably have a basic support for transaction 
 propagation across 2
  JBoss instances. I was wondering, how should I make my mods 
 available (the
  code is really alpha) for the people who want to start 
 working on it. The
  code also requires changes to the current JBoss implementation (in
  particular, TxInterceptorCMT and TxInterceptorBMT would rely on
  javax.transactions.TransactionManager interface to manage 
 transactions,
  instead of using JBoss extensions to the API for thread
  association/disassociation.

Try to drop an email to Ole Husgaard, I know that he also has a DTM working
and well tested, just to avoid that tomorrow also him will commit his
changes ending up to have 2 DTM, maybe incompatible WRT the changes to
TxInterceptors.

 If it breaks things, you might want to create a CVS branch.

Definitely do create the branch.

 
 Something like:
 
 cvs rtag Tyrex_BP jboss
 cvs rtag -b Tyrex_Branch jboss
 
 Then:
 
 cvs co -rTyrex_Branch jboss
 
 Then, put your changes in and commit.
 
 Later, when it's all working, you can do:
 
 cvs co jboss
 cd jboss
 cvs update -jTyrex_Branch
 
 and you should get an automated merge (which you'll need to 
 fix manually).
 
 Unless I've screwed the whole concept up completely.  Perhaps 
 a resident 
 CVS guru would care to comment?

Toby, no comments, it's everything OK :)
Anatoly, just be sure to know how CVS merge works before updating with -j
option. Drop me an email if you're not sure.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] Distributed Transaction Manager support (coming u p)

2001-04-24 Thread Bordet, Simone

Hey,

 I had an e-mail message exchange with Ole about a month ago. He
 recommended me using org.jboss.tm.plugins.tyrex for my stuff. This is
 exactly what I did. But, as I mentioned, there are 2 files (the
 transaction interceptors) that need to be changed to support a generic
 TransactionManager. Again, this change was discussed with Ole 
 and he felt
 it was a necessary step. I'll try to sync with him before I commit
 anything into CVS, especially the interceptors. 
 
 Another thing, I did have rw access on the old CVS repository but most
 likely I don't have it on sourceforge. Who should I get in touch with?

You should first add yourself as a sourceforge member, then ask Marc, Juha
or Sebastien (the administrators) to add your newly created sourceforge
account to the JBoss project as developer. Also few documentation to read
about CVS and SSH, and about the sourceforge protocol used to commit new
changes (basically track them in the changelog and feature request pages).

HTH,

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] How do i get the source code for jBoss

2001-04-23 Thread Bordet, Simone

Hey,

 Hi ,
 I want to get the source code for jBoss server. To do this I 
 downloaded and
 installed winCVS - but then what is this tcl and how do I 
 further get to the
 source coede??

Asking WinCVS question on this list does not help. Try the WinCVS web site,
for example.
Then follow the clear instructions on the JBoss' SourceForge site.
And please, for support post to jboss-user, this is the development list.

Simon

 Cud someone please help??
 Thanks and regards harish
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] RE: JBoss/JBossMX

2001-04-23 Thread Bordet, Simone
Title: JBoss/JBossMX



[CC'ed 
to jboss-dev]

Hello 
Mads,

quoted 
from the JavaMail 1.2 FAQ:


Q: Is the JavaMail API implementation completely free? 
Can I ship it along with my product?A: Yes. The current release 
of the JavaMail API implementation, is completely free and you can include it in 
your product. This release includes IMAP, POP3, and SMTP providers as well. 
Please do read the LICENSE and ensure 
that you understand it. The JavaBeans Activation Framework is also free for use 
under a similar license. 
Unless 
'JavaMail API implementation' means the class files of the JavaMail interfaces 
only (ie javax.mail.Session etc), so not including the real implementation (ie 
the code that opens connections to the mail server), I think we can ship 
mail.jar along with JBoss, anyway IANAL.
I wonder 
if you'd like to open-source your implementation :)
Thanks 
and best regards,
Simon

-Original Message-From: 
BJORNSBO Mads (BMB) [mailto:[EMAIL PROTECTED]]Sent: 
lunedì 23 aprile 2001 11:32To: Bordet, SimoneSubject: 
JBoss/JBossMX 

  Hi Simone, 
  I just read about the JBoss/JBossMX 
  implementation, and I can see that you have used the Java Mail API 1.2 
  implementation from Sun. You probably already know this, but it is a reference 
  implementation which is not meant to run on a 3rd tier. So, just to warn you 
  if you don't already know.
  We use the same package here, but found that 
  the implementation is insufficient and does not scale when using the IMAP 
  part. Noumerous threads and TCP/IP connections are created not released 
  properly. We contacted Sun to ask if they were aware of this, and they were, 
  and they pointed out that the Java Mail implementation is "only" a reference 
  implementation meant for the client tier. Basically, we re-wrote most of 
  the package to incorporate thread pooling and TCP/IP 
  connectionpooling.
  I hope this info is usefull. 
  Best regards, 
  Mads Bjoernsbo  DISCLAIMER "This e-mail and any attachment 
  thereto may contain information which is confidential and/or protected by 
  intellectual property rights and are intended for the sole use of the 
  recipient(s) named above. Any use of the information contained herein 
  (including, but not limited to, total or partial reproduction, communication 
  or distribution in any form) by other persons than the designated recipient(s) 
  is prohibited. If you have received this e-mail in error, please notify 
  the sender either by telephone or by e-mail and delete the material from any 
  computer".Thank you for your cooperation.For further 
  information about Proximus mobile phone services please see our website at 
  http://www.proximus.be or refer to any Proximus 
agent.


RE: [JBoss-dev] Exception when calling a stateless from a stateful on jBoss2.2

2001-04-18 Thread Bordet, Simone

Please, repost on jboss-user, this list will not answer these questions

Simon

 -Original Message-
 From: Harishankar Nair [mailto:[EMAIL PROTECTED]]
 Sent: mercoled 18 aprile 2001 12:48
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] Exception when calling a stateless from 
 a stateful
 on jBoss2.2
 
 
 Hi all ,
  When I try to call a Stateful session Bean , which in turn calls a
 stateless session bean using jBoss 2.2 on windows 2000 , I 
 get the following
 exception. Could someone help me out with this ?? My client 
 is an ordinary
 java class. This exception occurs just when the stateful 
 calls the stateless
 to get some work done. So could it be some jBoss configuration issue??
 
 C:\jdk1.3\bin\java.exe   Test2Client
 Working Directory - c:\EJBClient\
 Class Path -
 C:\EJBStore\Test1;C:\jBoss\jboss-tomcat-2.2\jboss-2.2\client\e
 jb.jar;C:\EJBC
 lient;C:\jBoss\jboss-tomcat-2.2\jboss-2.2\client\jboss-client.
 jar;C:\jBoss\j
 boss-tomcat-2.2\jboss-2.2\client\jbosssx-client.jar;C:\jBoss\j
 boss-tomcat-2.
 2\jboss-2.2\client\jnp-client.jar;C:\EJBStore\Test1\financial.
 jar;.;c:\Kawap
 ro5.0\kawaclasses.zip;c:\jdk1.3\lib\tools.jar;c:\jdk1.3\jre\li
 b\rt.jar;c:\jd
 k1.3\jre\lib\i18n.jar
 got object reference  Home Interface casting done Daniel Step 
 One thru Step
 Two thru And Step Three thru Step Four 
 thru Step Five
 thru finished calling getMyName() - FinSt
 
 java.rmi.ServerException: RemoteException occurred in server 
 thread; nested
 exception is:
   java.rmi.ServerException: Exception occurred; nested 
 exception is:
   javax.ejb.EJBException java.rmi.ServerException: 
 Exception occurred; nested
 exception is:
   javax.ejb.EJBException javax.ejb.EJBException   at
 sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer
 (StreamRemoteC
 all.java:245) at
 sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCal
 l.java:220)
 at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)  at
 org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.in
 voke(Unknown
 Source)   at
 org.jboss.ejb.plugins.jrmp.interfaces.StatefulSessionProxy.inv
 oke(StatefulSe
 ssionProxy.java:186)  at $Proxy1.getMessage(Unknown Source)   at
 Test2Client.main(Test2Client.java:49) Process Exit...
 
 Thanks and regards
 
 Harishankar Nair
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Help With Exception: java.lang.NoClassDefFoundError: org/jboss/security/SecurityAssociation

2001-04-18 Thread Bordet, Simone

Please repost to jboss-user, this list is devoted to development only,
nobody will answer you.

Simon

 -Original Message-
 From: Kevin James Baxter [mailto:[EMAIL PROTECTED]]
 Sent: mercoledi 18 aprile 2001 13:45
 To: jboss
 Subject: [JBoss-dev] Help With Exception:
 java.lang.NoClassDefFoundError: org/jboss/security/SecurityAssociation
 
 
 Hello, everyone;
 
 Any insight would be greatly appreciated.
 
 I'm porting an existing application from jBoss 2.0 FINAL to 
 jBoss 2.2. 
 FINAL.  Here's the exception I'm getting:
 
 
 Starting tomcat. Check logs/tomcat.log for error messages
 No webapps/ directory C:\local\forte4j\temp\tomcat\webapps
 2001-04-18 07:36:00 - Ctx(  ): Exception in: R(  + 
 /public_html/EmployeeViewPage.jsp + null) - 
 javax.servlet.ServletException: org/jboss/security/SecurityAssociation
at 
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:390)
at 
 org.netbeans.modules.web.core.execution.JspServlet.service(Jsp
 Servlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at 
 org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper
 .java:387)
at org.apache.tomcat.core.Handler.service(Handler.java:263)
at 
 org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:371)
at 
 org.apache.tomcat.core.ContextManager.internalService(ContextM
 anager.java:749)
at 
 org.apache.tomcat.core.ContextManager.service(ContextManager.java:695)
at 
 org.apache.tomcat.service.http.HttpConnectionHandler.processCo
 nnection(HttpConnectionHandler.java:207)
at 
 org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoin
 t.java:403)
at 
 org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPo
 ol.java:498)
at java.lang.Thread.run(Unknown Source)
 Root cause:
 java.lang.NoClassDefFoundError: org/jboss/security/SecurityAssociation
at 
 org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.getPrincipa
 l(GenericProxy.java:184)
at 
 org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invoke(HomePro
 xy.java:231)
at $Proxy0.create(Unknown Source)
at 
 gov.ssa.util.JNDIManagerAbstract.getEmployeeManager(JNDIManage
 rAbstract.java:34)
at 
 p_00025blic_0005fhtml._0002fpublic_0005fhtml_0002fEmployeeView
 Page_0002ejspEmployeeViewPage_jsp_0._jspService(_0002fpublic_0
 005fhtml_0002fEmployeeViewPage_0002ejspEmployeeViewPage_jsp_0.java:99)
at 
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at 
 org.apache.jasper.servlet.JspServlet$JspServletWrapper.service
 (JspServlet.java:177)
at 
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
 .java:309)
at 
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:382)
at 
 org.netbeans.modules.web.core.execution.JspServlet.service(Jsp
 Servlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at 
 org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper
 .java:387)
at org.apache.tomcat.core.Handler.service(Handler.java:263)
at 
 org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:371)
at 
 org.apache.tomcat.core.ContextManager.internalService(ContextM
 anager.java:749)
at 
 org.apache.tomcat.core.ContextManager.service(ContextManager.java:695)
at 
 org.apache.tomcat.service.http.HttpConnectionHandler.processCo
 nnection(HttpConnectionHandler.java:207)
at 
 org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoin
 t.java:403)
at 
 org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPo
 ol.java:498)
at java.lang.Thread.run(Unknown Source)
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Nested JMX Service Groups...??!

2001-04-11 Thread Bordet, Simone

Jules,

 --- Scott M Stark [EMAIL PROTECTED]
 wrote:
  They can't create a wrapper because mbeans are being
  created as a byproduct
  of interaction with the Jetty JMX interface. This is
  a generic issue with integrating
  third party services that happen to be mbeans which
  may be using the JMX bus
  for whatever purpose. Its trivial to add a filter by
  domain
  that allows ServiceControl to not even attempt to
  manage any mbeans in a given
  domain. This does not break the JBoss management
  model in any way that I see.
  It simply adds the notion of non-service domains.
  
 
 Yes !
 
 Thanks Scott,
 
 This is it.
 
 How you choose to differentiate between JBoss Service
 MBeans and 3rd party ones is what I think the
 discussion should hinge upon.

Ehm, maybe I'm missing something but why the Vlada's solution isn't OK ? IE
modify the ServiceControl JBoss' MBean to check if the MBean belongs to the
JBoss lifecycle:
if (registration_notification  
registeredMBean instanceof org.jboss.utill.Service)
{
   list.add(registeredMBean);
}

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] CVS client/ssh

2001-04-11 Thread Bordet, Simone

Hello,

 Cool, I'm vindicated!
 
 When Simone imparts his knowledge, I'd be happy to
 update the web page if Marc thinks it a good idea...

Thanks for that, would really be useful for developers with CVS write
access, but I have very little time this period.

I don't have cygwin, the following works with plain win2k and winme.
Probably will be useful to remove cygwin's ssh.exe from %PATH% environment
variable to avoid some mess.
Unfortunately there is no solution yet for being behind a firewall, ssh does
not work. If someone has a solution for this, please share it !!

The following will only work for jboss' developers that have CVS write
access to the CVS jboss repository.

Sooo, here it is ;)

1) Go to http://download.sourceforge.net/sfsetup/sfsetup-v1.2.zip and
download it. Unzip it. When unzipped, there is another zipped file, called
ssh-1.2.14-win32bin.zip. Unzip also this in a well-known directory (mine is
D:\Simon\ssh\). In there there should be now 5 files, one of them being
ssh.exe. Only these 5 files should be kept, you can delete all the other
unzipped files.
2) Create a passwd file under C:\etc as explained in bullet 5 at
http://sourceforge.net/docman/display_doc.php?docid=767group_id=1. Follow
only instruction at bullet 5.
3) Open a Windows console and go in the directory where you unzipped ssh.exe
(I would do 'cd \Simon\ssh').
4) If you don't have a global HOME environment variable, set it in the
console. I would do 'set HOME=D:\Simon'. If you don't do this, ssh will
complain (while executing the next step) that it cannot create the directory
'NULL/.ssh' or something like that.
5) Now connect with sourceforge. Type the following:
ssh -l sf_user_name jboss.sourceforge.net
and enter your password. You should get a unix-like after-login window. Type
exit and come back to the Windows console.
Then type:
ssh -l sf_user_name cvs.jboss.sourceforge.net
and enter your password. Again the unix-like after-login window. Type exit
and come back to the Windows console.
These 2 commands created a .ssh directory (please note the dot before ssh)
under %HOME% and 2 files in it. These files are required by WinCVS.
6) Close the console. Open WinCVS. From the menu bar, Admin/Preferences. In
the 'General' tab, set the CVSROOT to be
:ext:sf_user_name@cvs.jboss.sourceforge.net:/cvsroot/jboss, authentication
'SSH server'
7) In the Preferences dialog, tab 'Ports', select the checkbox 'Chek for an
alternate rsh name' and fill the textbox with the full path of ssh.exe (mine
is D:\Simon\ssh\ssh.exe). Click OK.
8) From main menu bar, Create/Checkout module, fill the dialog box, then
click OK. It will appear a minimized console (so you will only see it in the
taskbar or with Alt-Tab): you should un-minimize it, it will appear
completely empty. Type in there your sourceforge password and then enter. If
you switch back to WinCVS, you'll see that the checkout begins, and the
password console stays there until the CVS command is finished.
You have to retype your password in an empty console for each CVS command
(there is a way to avoid also this but I did not try it).

Enjoy !

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] 2.2 Patch procedure

2001-04-11 Thread Bordet, Simone

Hey Scott,

 Ok, a problem mentioned on the user list turns out to be a 
 bug in the 2.2
 release of the JBossSX code. This was not seen because the 
 login module
 used in the howto was not being convered in the unit tests(my fault).
 
 So, what is the procedure for creating a patch and new release on the
 2.2 branch?

I can tell you what to do in CVS, I'm not expert on how this must be handled
in SourceForge using the tracker, anyway:

Checkout the 2.2 branch:
cvs co -rBranch_2_2 jboss

Change what has to be changed (working on the files you just checked out)
and commit the changes.

Tag the branch with a new tag: the next available is Rel_2_2_1, so:
cvs tag Rel_2_2_1 (from the jboss' module root dir)

Here if you think that a new JBoss release (2.2.1) is truly needed, you can
use the JBoss_2_2_1_Final tag instead of Rel_2_2_1. It really depends on how
much important is the bug you fixed, and maybe a word of Marc about shipping
a new release. If you have a doubt, use tag Rel_2_2_1, we can later rename
it to JBoss_2_2_1_Final. CVS tags are very easy to add, delete, rename, etc,
so better tag once more than once less.

If a release is needed, you can now package everything again and upload to
the web site (Oh, if someone finds the time, update also the main page that
still refers to Rickard's 2.1 (beta) release, and maybe moving it in a more
visible position, like at the top of the main page)

Update also the main trunk:
cvs up -A

Change again the files (on this new working copy from the main trunk)
applying the patch (or if you know well CVS you can merge the changes) and
commit the changes.

Hope helps, but if you have doubts don't hesitate to contact me.

Cheers,

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: R: [JBoss-dev] 2.2 Patch procedure

2001-04-11 Thread Bordet, Simone

Hey Toby,

  I can tell you what to do in CVS, I'm not expert on how 
 this must be handled
  in SourceForge using the tracker, anyway:
  
  Checkout the 2.2 branch:
  cvs co -rBranch_2_2 jboss
  
  Change what has to be changed (working on the files you 
 just checked out)
  and commit the changes.
  
  Tag the branch with a new tag: the next available is Rel_2_2_1, so:
  cvs tag Rel_2_2_1 (from the jboss' module root dir)
 
 I'm going to need to do this shortly as well, and I just want 
 to be sure
 that I understand. What is the purpose of this tag?

Its purpose is to allow easy merge of the patches commited to the branch
with the code on the main trunk. Also, later on, when the branch and the
main trunk have developed several new revisions, it will be easier to check
if all the patches went to the main trunk.
I'm finishing a detailed document about merging, when I'm done I'll post it,
few days more :P

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] 2.2 Patch procedure

2001-04-11 Thread Bordet, Simone

Hey Scott,

 The code that needs to be patched is actually in the jbosssx 
 cvs module. I did
 add a JBoss_2_2_0_Final to the code in this module at the time of the
 2.2 release, but I did not make a branch.
 
 Would this work:
 cvs rtag -b -r JBoss_2_2_0_Final Branch_2_2 jbosssx

OK

 co -rBranch_2_2 jbosssx

You just missed the 'cvs' before 'co' but it's OK.
Then you can commit the changes to the branch AND the main trunk of jbosssx
module.

After that I suppose you will have 2 new jars for the jboss module, one for
the branch and one for the main trunk, so refer to previous indication on
how to commit them.
I think that tagging with Rel_2_2_1 at least jboss module would be useful.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMX in jBoss, Clustering, Monitoring, Failover, better bootstrapp ing via pluggable XMLet

2001-04-06 Thread Bordet, Simone

Just one word:

IMPRESSIVE !

Simon

 -Original Message-
 From: Stacy Curl [mailto:[EMAIL PROTECTED]]
 Sent: venerd 6 aprile 2001 11:59
 To: '[EMAIL PROTECTED]'; 'Andreas Schaefer'
 Subject: [JBoss-dev] JMX in jBoss, Clustering, Monitoring, Failover,
 better bootstrapp ing via pluggable XMLet
 
 
 Hello, I'd like to tell you about the code that I've developed and
 contributed to JBoss.
 
 I've developed some code to augment the basic capabilities 
 that JMX gives
 you. I've written an MBean that will 'mirror' MBeans, that is 
 it will take a
 subset of MBeans on one JMX agent and create proxies for them 
 on another JMX
 agent (the idea of proxying is wide place but the inspiration for this
 instance was taken from the CascadingAgent from JDMK). 
 
 Secondly I've created a 'Watchdog' MBean that monitors the health of
 'Watchable' (*) MBeans and calls restart on the watchable 
 MBeans when they
 have failed. I've also wrapped the JMX agent in an RMI 
 Activatable object so
 that the whole JMX agent itself can be restarted (also by the 
 Watchdog) in
 the event that JVM dies.
 (*) Actually they are called 'startable' and should be renamed to
 'watchable'.
 
 I've also rewritten the MLet loading class as a pluggable 
 XMLet loading
 class, using this method I've been able to specify in the 
 XMLet resource
 file which MBeans are critical (failure to start means the 
 JMX agent is
 useless) to optional (failure to start leaves the JMX agent still
 functional).
 
 The stuff I wrote can be found at
 http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/jbossmx/?cvsroot=jboss
 
 I wrote all of this not out of the goodness of my own heart 
 but because my
 company needed the capability to monitor and restart its Java 
 code, the Java
 code needed absolutely to create threads and so couldn't be 
 written as EJB,
 so I had to devise a skeleton failover / high availability 
 system outside of
 an app server. Fortunately my company doesn't ever plan to go into the
 failover / monitoring business so they were comfortable with 
 me placing the
 code in JBoss. This also means that I'll be adding more 
 features to JBoss in
 the future and getting paid for it :). Of course this point 
 is moot if those
 features are not interesting to the JBoss group.
 
 Since JBoss is based on JMX and will in the near future have 
 a number of JMX
 Agents to enable clustering of the EJB Containers then 
 monitoring of these
 Agents and containers seem crucial, there is much work to be 
 done but I
 think that my code should serve as a reasonable base.
 
 Ideas for the future:
 - Have multiple JMX Agent (got), but specify a single XMLet 
 resource file,
 let the MBeans be distributed evenly across the Agents, this 
 is called a
 Single System Image (SSI JMX)
 - Offer different styles of monitoring, currently it's poll 
 based, could use
 a 'dead-man's handle', or pure event based monitoring, 
 combinations also
 possible.
 - Are there parallels between JMX and RMI, there is an 
 RMIRegistry, does it
 make sense to have a JMXRegistry and access the MBeans through URL's ?
 jmx://machineName:agentName/domainName/objectName or
 jmx://agentName/domainName/objectName, or in conjunction with 
 the SSI JMX:
 jmx://domainName/objectName
 - Current system offers emails when corrective action is 
 taken on a failed
 MBean, future system could monitor performance and email on crossing
 critical boundaries (90% maximum I/O, memory, etc).
 - Can only send emails to support staff at present, other 
 possibilities may
 be useful such as sending pagers.
 - Can only see (in the HTML view) the current state of the 
 system, it would
 be useful to be able to run through a movie of previous 
 states and also
 highlight differences.
 - The HTML view is quite minimal, I've created a pluggable 
 version which
 enables MBeans to specify somewhat their display, this can be improved
 significantly which will aide support staff.
 
 --- Brain Dump ENDS --
 
 Regards,
 Stacy.
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



R: [JBoss-dev] To EJB or not to EJB?

2001-04-05 Thread Bordet, Simone

Please post again on jboss-user.
This list is devoted to JBoss development only.

Thanks,

Simon

 -Messaggio originale-
 Da: David McTavish [mailto:[EMAIL PROTECTED]]
 Inviato: gioved 5 aprile 2001 19:54
 A: [EMAIL PROTECTED]
 Oggetto: [JBoss-dev] To EJB or not to EJB?
 
 
 
 That is my humble question.
 
 Here is my problem:
 I have a software component that models our physical hardware.
 I need to be able to persist this model to maintain its state.
 I also need to ensure that all transactions are atomic.
 However, I also need to incorporate JMX-related management.
 
 Thus, I need the persistence and transaction models 
 implemented by EJB's, 
 but the management capabilities exposed by JMX.  
 Does JMX support container-managed persistence?
 Does JMX support the JTA/JTS implemented transaction system?
 Does JMX support dynamic instantiation? (ie: If I add a new 
 entry to the
 jboss.jcml file (new MLET tag) and register with the MBeanServer, will
 the MBeanServer start that new service? Also, will the MBeanServer
 support multiple instances of the same "service"?
 
 Any answers would be greatly appreciated.
 
 Regards,
 David McTavish
 
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBoss 2.2 FINAL

2001-04-04 Thread Bordet, Simone

Hello,

it's clear that the board wants to exit with 2.2 FINAL, since every one
involved in packaging wants to checkout the most updated code in the branch
to package a final 2.2 release.
So, I ask to every committer to stop committing to Branch_2_2 starting from
18:00 GMT (13:00 New York). I will then tag the branch with Rel_2_2_FINAL,
so that packagers may checkout the 2.2 FINAL code to package the various
JBoss distributions (ie JBoss-Jetty, JBoss-Tomcat, etc).

I will also post instruction on how to checkout the 2.2 final release.

plgc,

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] RE: JBoss 2.2 FINAL. And the tests ?

2001-04-04 Thread Bordet, Simone

Hey Ken,

 What's the test plan for this release?

I don't know. AFAIK 2.1 is far better than 2.0, and passes more (if not all)
tests of the JBossTest suite, I think also the Peter Braswell's CTS.

But it's a good question. Anyone may answer better than me ? Marc ?

Simon

 
 -- Ken Jenks, http://abiblion.com/
 
 Tools for reading.
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] RE: JBoss 2.2 FINAL. And the tests ?

2001-04-04 Thread Bordet, Simone

OK.

The timeline of 18:00 GMT is confirmed.

Simon

 -Original Message-
 From: marc fleury [mailto:[EMAIL PROTECTED]]
 Sent: mercoled 4 aprile 2001 16:09
 To: Bordet, Simone; JBoss Development Mailing List (E-mail)
 Cc: 'Ken Jenks'
 Subject: RE: [JBoss-dev] RE: JBoss 2.2 FINAL. And the tests ?
 
 
 OK 2.2 is really of FINAL quality.  We have been really in a 
 effective BETA
 for the past 3 month and I don't see people complaining on 
 major stuff.
 
 The test situation is a bit more complex.  JCTS has come a long way.
 JBossTest had things that made deep tests (the 
 home.create(objectref)) that
 do not lend themselves to "UNIT" testing.
 
 2.0 used to pass ALL of the jbosstest stuff and from what I 
 can tell the
 problems we are seeing now are mostly from configuration of jbosstest.
 
 2.2 is of FINAL quality, put it out already, it is hurting us.
 
 We need to move onto 2.3..
 
 marc
 
 
 |-Original Message-
 |From: [EMAIL PROTECTED]
 |[mailto:[EMAIL PROTECTED]]On Behalf Of
 |Bordet, Simone
 |Sent: Wednesday, April 04, 2001 8:48 AM
 |To: JBoss Development Mailing List (E-mail)
 |Cc: 'Ken Jenks'
 |Subject: [JBoss-dev] RE: JBoss 2.2 FINAL. And the tests ?
 |
 |
 |Hey Ken,
 |
 | What's the test plan for this release?
 |
 |I don't know. AFAIK 2.1 is far better than 2.0, and passes more
 |(if not all)
 |tests of the JBossTest suite, I think also the Peter Braswell's CTS.
 |
 |But it's a good question. Anyone may answer better than me ? Marc ?
 |
 |Simon
 |
 |
 | -- Ken Jenks, http://abiblion.com/
 |
 | Tools for reading.
 |
 |
 |___
 |Jboss-development mailing list
 |[EMAIL PROTECTED]
 |http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] Transaction timeout

2001-04-04 Thread Bordet, Simone

Hey,

look in jboss.jcml and almost at the top there is the transaction mbean. You
will find there the transaction timeout value, that overrides the one in the
code.

Simon

 -Original Message-
 From: sujith s.pillai. [mailto:[EMAIL PROTECTED]]
 Sent: mercoled 4 aprile 2001 21:48
 To: [EMAIL PROTECTED]
 Subject: [JBoss-dev] Transaction timeout
 
 
 Hi,
 
 I am not sure whether this is the right forum for
 posting this doubt. I have already sent this to jboss
 users' forum. Sorry for the cross-posting.
 
 I am running JBoss 2.1 alongwith Jetty 3.0.2 / JDK
 1.3.
 
 We have a stateful session bean running with bean
 managed transaction. It has got the transaction
 boundaries set as follows:
 getFirstName() is where the transaction is initiated
 by UserTransaction.begin(). In getNextName(), the
 transaction is committed by UserTransaction.commit().
 
 Now, the two methods are invoked by two different
 servlets. When the user calls the first servlet, it
 calls the bean's getFirstName() method, and fetches
 the values for us. When the user clicks on the "Next"
 button on the form, the second servlet is invoked, and
 it calls the bean's getNextName() and fetches the
 required values; and commits the transaction.
 
 Our problem is, when the user invokes the first
 servlet, and then, chooses to remain idle for more
 than 5 minutes, the transaction gets timed out, and
 then, if we try to invoke the second servlet, it gives
 a RollbackException in the getNextName().
 
 This is because the org.jboss.tm.TxManager class has
 got the timeout value hard-coded in it as :
 START OF JBOSS SOURCE CODE-
 
   /**
 *  Default timeout in milliseconds.
 *  Must be = 1000!
 */
long timeOut = 5*60*1000; 
 
 END OF JBOSS SOURCE CODE---
 
 Because of this, we cannot let the user remain idle
 for more than 5 minutes.
 
 However, our application, which is a conversion
 project from AS/400, needs to have the timeout set to
 a higher limit as in the earlier AS/400 version of the
 application.
 
 Can we change this timeout value in the
 org.jboss.tm.TxManager class, without affecting
 anything else?
 
 
 Thanks,
 Sujith.
 
 Additional info:
 
 From the org.jboss.tm.TxCapsule class:
 
 JBOSS SOURCE CODE---
/**
 *  Create a new TxCapsule.
 *
 *  @param tm The transaction manager for this
 transaction.
 *  @param timeout The timeout for this transaction
 in milliseconds
 * (timeouts are not yet
 implemented).
 */
TxCapsule(TxManager tm, long timeout)
{
   this(tm);
 
   status = Status.STATUS_ACTIVE;
 
   start = System.currentTimeMillis();
   this.timeout =
 TimeoutFactory.createTimeout(start+timeout, this);
   branchXids = new HashMap();
}
 --END OF JBOSS SOURCE CODE
 
 
 
 __
 Do You Yahoo!?
 Get email at your own domain with Yahoo! Mail. 
 http://personal.mail.yahoo.com/
 
 ___
 Jboss-development mailing list
 [EMAIL PROTECTED]
 http://lists.sourceforge.net/lists/listinfo/jboss-development
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] JBoss 2.2.0 FINAL

2001-04-04 Thread Bordet, Simone

Hello,

I've tagged and updated the version identifier of JBoss on the branch, so
that it is possible to checkout the sources to package the distributions,
included last minute Scott Stark's changes.
Packagers, see the how to below for instructions on how to checkout the
2.2.0 JBoss release.

Simon


How to:

First of all be sure that your CVSROOT is set properly, should be
:ext:[EMAIL PROTECTED]:/cvsroot/jboss where 'developer' is
your sourceforge account.
Command-liners can use the -d option to specify the CVSROOT, such as "cvs
-d:ext:[EMAIL PROTECTED]:/cvsroot/jboss checkout jboss".
Be very sure that the -d option is between the 'cvs' and any other command
(in the case above 'checkout')
WinCVS users have to specify it from the menu: Admin/Preferences.

Then perform the following command:

Command line:
cvs export -rJBoss_2_2_0_Final jboss
WinCVS 1.2:
From the menu: Create/Checkout module
Then enter 'jboss' in the editable combobox titled "Enter the module
name..." and choose a folder to checkout to.
Click on the "Checkout Options" tab.
Select the checkbox titled "By revision/tag/branch" and enter
'JBoss_2_2_0_Final' in the editable combobox.
Select the checkbox titled "Do not create the CVS directories (export)".
Click OK.

This command exports all the sources, i.e. it's a regular checkout but
*without* the CVS directories.
This command is (normally) used for packaging, since there is no interest in
CVS directories for releases. This implies also that from that cvs-export
you cannot work with CVS, ie commit changes, etc (you should use the regular
checkout to work with CVS).
Anyway with this command you can build JBoss, do tests, run it, etc: fully
functional.

So, use this command to cvs-export JBoss, build the distribution, package
it, and that's it.


___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] CVS suggestion

2001-03-27 Thread Bordet, Simone

Hey,

I don't know who is mantaining CVSROOT/* files (SourceForge or Marc or
Sebastien), but would be useful to have email notification on tag operations
also, through the CVSROOT/taginfo file.

Simon

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



[JBoss-dev] RE: Small NPE annoyance in LRU cache

2001-03-26 Thread Bordet, Simone

Marc,

fixed in CVS.

Simon

 -Original Message-
 From: marc fleury [mailto:[EMAIL PROTECTED]]
 Sent: venerd 23 marzo 2001 18:35
 To: Jboss-Development@Lists. Sourceforge. Net
 Cc: Bordet, Simone
 Subject: Small NPE annoyance in LRU cache
 
 
 When a bean doesn't pass the verifier it is "undeployed" and 
 in our case the
 LRU cache barf an NPE.
 
 It doesn't look very good and probably has to do with some 
 "non-initialized"
 field that is supposed to do some work.
 
 We can predictably say that people will screw their 
 deployment and the error
 they get is container NPE which is confusing.
 
 Can someone take a look at it? No don't point the fingers 
 back at me, I am
 running on the training.
 
 snip the bean fails (this happens for all failed beans)
 
 [J2EE Deployer Default] Starting BookStockBean.jar failed!
 [Auto deploy] java.lang.NullPointerException
 [Auto deploy]   at
 org.jboss.util.LRUCachePolicy.flush(LRUCachePolicy.java:175)
 [Auto deploy]   at
 org.jboss.util.LRUCachePolicy.stop(LRUCachePolicy.java:95)
 [Auto deploy]   at
 org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy.stop(LRU
 EnterpriseCont
 extCa
 chePolicy.java:112)
 [Auto deploy]   at
 org.jboss.ejb.plugins.AbstractInstanceCache.stop(AbstractInsta
 nceCache.java:
 358)
 [Auto deploy]   at
 org.jboss.ejb.EntityContainer.stop(EntityContainer.java:260)
 [Auto deploy]   at 
 org.jboss.ejb.Application.stop(Application.java:212)
 [Auto deploy]   at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:362)
 [Auto deploy]   at
 org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:275)
 [Auto deploy]   at java.lang.reflect.Method.invoke(Native Method)
 [Auto deploy]   at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1628)
 [Auto deploy]   at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1523)
 [Auto deploy]   at
 org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeploye
 r.java:435)
 [Auto deploy]   at
 org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:178)
 [Auto deploy]   at java.lang.reflect.Method.invoke(Native Method)
 [Auto deploy]   at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1628)
 [Auto deploy]   at
 com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.
 java:1523)
 [Auto deploy]   at 
 org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:358)
 [Auto deploy]   at 
 org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:221)
 [Auto deploy]   at java.lang.Thread.run(Unknown Source)
 
 _
 Marc Fleury, Ph.D
 [EMAIL PROTECTED]
 _
 

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development