Re: HttpServletRequest.isUserInRole() and Orion

2002-04-02 Thread Patrick Lightbody

Peter,
I'd recommend you check out OSUser at www.opensymphony.com. It is very good
for doing custom user management for not only orion, but other app servers.

-Pat

- Original Message -
From: Peter van Rensburg [EMAIL PROTECTED]
To: Orion-Interest [EMAIL PROTECTED]
Sent: Tuesday, April 02, 2002 7:34 PM
Subject: Re: HttpServletRequest.isUserInRole() and Orion


 Oops :) Missed the inner class inside SimpleUserManager, ignore comments
 about missing methods in Orion interfaces, doh! :)

 On Tue, 2002-04-02 at 14:30, Peter van Rensburg wrote:
  Hi
 
  I'm putting together a customer user manager for orion, extending
  com.evermind.security.AbstractUserManager, with UserWrapper and
  GroupWrapper classes implementing com.evermind.security.User and
  com.evermind.security.Group respectively.
 
  Now HttpServletRequest.isUserInRole() used to call User.isMemberOf()
  back in the days of = 1.4.0, this however does not seem to be the case
  anymore. isMemberOf() still gets called to satisfy the
  security-constraints in web.xml.
 
  Looking at the example on orionsupport.com, three abstract methods are
  mentioned:
 
  protected boolean userExists( String username );
  protected boolean checkPassword( String username, String password );
  protected boolean inGroup( String username, String groupname );
 
  It doesn't appear that HttpServletRequest.isUserInRole() gets trunked
  through to inGroup() nor do I see these three methods in any Orion
  interface definition ?
 
  Does anyone know how to fix this? Or how
  HttpServletRequest.isUserInRole() gets handled by Orion ?
  I've search the mailing list archive and it seems that other users have
  also encountered these problems but it never got sorted out ?
 
  Many thanks for any assistance,
  Peter
 
 
 
 
 







Re: Cascade delete for CMP set mapping?

2002-02-12 Thread Patrick Lightbody



Cascade deletes aren't supported in Orion (yet), 
but I hear they should be soon. Hang tight :)

-Pat

  - Original Message - 
  From: 
  Chris Turner 
  To: Orion-Interest 
  Sent: Tuesday, February 12, 2002 6:34 
  AM
  Subject: Cascade delete for CMP set 
  mapping?
  
  Hi 
  Everyone,
  
  I've 
  got a CMP entity bean that manages a set of simple object via Orion's 
  proprietary set-mapping features. It all works fine and the table holding the 
  items in the set is updated and read correctly. The problem comes with 
  deleting. If I delete the bean (by calling remove(pk) on the home interface) 
  the data from the entity table goes, but the data in the table for the set 
  items remains. 
  
  Is this 
  expected behaviour? I was expecting Orion to cascade delete this data! 
  
  How 
  do I makeOrion do a cascade delete of the table for the managed set? Or 
  do I need to add a rule to the database to force it to do the cascade 
  delete?
  My 
  Orion version is 1.52
  
  Chris
  _Alison 
  AssociatesThe information contained in this e-mail and any attached 
  files is intended only for the use of the person(s) to whom it is addressed 
  and may be privileged, confidential and exempt from disclosure under 
  applicable law. The views of the author may not necessarily reflect the views 
  of the Company. If you are not the intended recipient please do not copy or 
  convey this message or any attached files to any other person but delete this 
  message and any attached files and notify us of incorrect receipt via e-mail 
  to [EMAIL PROTECTED] 
  _This 
  message has been checked for all known viruses by 
MessageLabs.


Re: What is a Dirty Connection (using -Djdbc.debug=true)

2002-01-29 Thread Patrick Lightbody

I don't see how this helps with your question at all. You were asking about
CMP, and he is talking about BMP. I too have the problems you are
encoutering with CMP and stale connections being left over. I'd love to hear
of solutions to this problem.

-Pat

- Original Message -
From: Jeff Hubbach [EMAIL PROTECTED]
To: Orion-Interest [EMAIL PROTECTED]
Sent: Tuesday, January 29, 2002 8:25 AM
Subject: Fw: What is a Dirty Connection (using -Djdbc.debug=true)


 I'm forwarding this on to the list as it was very helpful with regard to
my question, just incase anyone else has the same questions. Thanks, Avi.

 Jeff.

 Begin forwarded message:

 Date: Tue, 29 Jan 2002 08:50:25 +0200
 From: Avi Abrami [EMAIL PROTECTED]
 To: '[EMAIL PROTECTED]' [EMAIL PROTECTED]
 Subject: What is a Dirty Connection (using -Djdbc.debug=true)


 Hi Jeff,
 I'm not subscribed to the Orion-Interest mailing list,
 but I monitor it through the OrionServer website. I
 hope you don't mind that I am answering you via a direct
 eMail.

 This is what I know about dirty connections.
 (Note that you may already know some of what I am about
 to tell you, I hope that's OK with you.)

 Orion wraps the JDBC driver classes. It seems to me,
 from debug messages displayed by the server, (but I haven't
 verified this yet) that Orion uses different wrapper
 classes depending on whether the server is running in
 debug mode or regular mode. I have had my application
 crash when running in debug mode, but work properly when
 working in regular (as in non-debug) mode.

 As far as I can ascertain, a dirty connection is one
 that has an associated open Statement or ResultSet or
 PreparedStatement, etc. object. I have found that the
 only way to properly close a Connection is to first
 close the ResultSet object, then the Statement object
 and finally the Connection object. Note that I am only
 working with the Oracle JDBC driver that comes with
 OC4J (and my version is 1.0.2.2 -- on SUN Solaris 2.7)

 Further, the following methods from the JDBC API do not
 work correctly (when using Orion's JDBC wrapper classes):

 ResultSet.getStatement()

 Statement.getConnection()

 These methods execute normally -- they don't throw
 exceptions at runtime and they compile without an problems.
 However, it seems like they do nothing!

 Basically a dirty connection means you have database
 resources (like Statement objects or ResultSet objects)
 still lying around -- which need to be disposed of (or
 closed). This is sort of like a memory leak, because
 eventually the Oracle database will exhaust all its
 resources and throw SQLExceptions in your application.

 The only way I found to properly close these database
 resource associated objects (Connection, Statement,
 ResultSet, etc) was to hold on to the references after
 I created the objects and only use those references to
 close those objects. So if, for example, you open a
 Connection in one method and that method returns a
 ResultSet to a calling method, the calling method will
 not be able to close the Connection unless you also
 pass a reference to the Connection to the calling method.

 Also note, that the Oracle JDBC driver also does not
 correctly implement the Connection.close() method.
 According to the API documentation, closing a Connection
 is supposed to also close any associated Statements,
 ResultSets, etc. However, the Oracle JDBC driver does
 not. You need to explicitly close the ResultSet, then
 the Statement, then the Connection.

 So in summary, I will answer your questions individually
 now with a short answer, below:

 Q:What is a Dirty Connection (when using -Djdbc.debug=true)?
 A:A connection with unclosed resources lying around.

 Q:What causes it?
 A:Not explicitly closing the resources.

 Q:What repercussions does it have?
 A:It can crash the database server.

 Q:Is a Dirty Connection a bad thing?
 A:Yes.

 Q:What can we do to avoid it (if anything)?
 A:Explicitly close all resources -- ResultSets,
 Statements, etc.

 Q:Are there any settings that control when and if
 they are cleaned up?
 A:If you are using pooled connections, perhaps the
 inactivity-timeout attribute in the data-sources.xml
 file can help -- I don't know for sure.

 Q:Are they cleaned up at all?
 A:As far as I can tell, no.

 A very long post -- I hope you don't mind, and I hope
 it can help you.

 Good Luck,
 Avi.



 --
 Jeff Hubbach
 Internet Developer
 Sun Certified Web Component Developer
 New Media Division
 ITQ Lata, L.L.C.
 303-745-4763 x3114





Re: What is a Dirty Connection (using -Djdbc.debug=true)

2002-01-29 Thread Patrick Lightbody

Yes, sounds like Orion isn't closing the Statements and ResultSets that it
uses for CMP, instead it is just closing the Connection. If that is the
case, either an update in the Oracle JDBC driver or an update with Orion
would fix the bug. Let's hope one of the two comes out soon, because how it
is now is very bad.

-Pat

- Original Message -
From: Jeff Hubbach [EMAIL PROTECTED]
To: Orion-Interest [EMAIL PROTECTED]
Sent: Tuesday, January 29, 2002 2:10 PM
Subject: Re: What is a Dirty Connection (using -Djdbc.debug=true)


 Patrick,

 It helped in that noone else responded, and it points to the fact that
something, either a statement or result set, isn't getting closed (if
container-managed connections are dealt with the same as user-managed
connections, which I'm assuming is true).

 I agree with you that he's talking about BMP, but the underlying
connection stuff should be the same (except for the fact that the container
is handling it instead of us, in which case you'd think it would be sure to
close everything, but it doesn't look like it is).

 Some suggestions have been to move from CMP to BMP, but in my opinion
that's taking a step backwards. It sounds like there's a problem in the
container's handling of connections, but we have yet to hear anything from
anyone with any code-level knowledge of Orion. Magnus, is this an issue? and
if so, is it going to be fixed in Orion 1.5.4, and if so, when will we see
it?

 Jeff.

 On Tue, 29 Jan 2002 11:28:18 -0800
 Patrick Lightbody [EMAIL PROTECTED] wrote:

  I don't see how this helps with your question at all. You were asking
about
  CMP, and he is talking about BMP. I too have the problems you are
  encoutering with CMP and stale connections being left over. I'd love to
hear
  of solutions to this problem.
 
  -Pat
 
  - Original Message -
  From: Jeff Hubbach [EMAIL PROTECTED]
  To: Orion-Interest [EMAIL PROTECTED]
  Sent: Tuesday, January 29, 2002 8:25 AM
  Subject: Fw: What is a Dirty Connection (using -Djdbc.debug=true)
 
 
   I'm forwarding this on to the list as it was very helpful with regard
to
  my question, just incase anyone else has the same questions. Thanks,
Avi.
  
   Jeff.
  
   Begin forwarded message:
  
   Date: Tue, 29 Jan 2002 08:50:25 +0200
   From: Avi Abrami [EMAIL PROTECTED]
   To: '[EMAIL PROTECTED]' [EMAIL PROTECTED]
   Subject: What is a Dirty Connection (using -Djdbc.debug=true)
  
  
   Hi Jeff,
   I'm not subscribed to the Orion-Interest mailing list,
   but I monitor it through the OrionServer website. I
   hope you don't mind that I am answering you via a direct
   eMail.
  
   This is what I know about dirty connections.
   (Note that you may already know some of what I am about
   to tell you, I hope that's OK with you.)
  
   Orion wraps the JDBC driver classes. It seems to me,
   from debug messages displayed by the server, (but I haven't
   verified this yet) that Orion uses different wrapper
   classes depending on whether the server is running in
   debug mode or regular mode. I have had my application
   crash when running in debug mode, but work properly when
   working in regular (as in non-debug) mode.
  
   As far as I can ascertain, a dirty connection is one
   that has an associated open Statement or ResultSet or
   PreparedStatement, etc. object. I have found that the
   only way to properly close a Connection is to first
   close the ResultSet object, then the Statement object
   and finally the Connection object. Note that I am only
   working with the Oracle JDBC driver that comes with
   OC4J (and my version is 1.0.2.2 -- on SUN Solaris 2.7)
  
   Further, the following methods from the JDBC API do not
   work correctly (when using Orion's JDBC wrapper classes):
  
   ResultSet.getStatement()
  
   Statement.getConnection()
  
   These methods execute normally -- they don't throw
   exceptions at runtime and they compile without an problems.
   However, it seems like they do nothing!
  
   Basically a dirty connection means you have database
   resources (like Statement objects or ResultSet objects)
   still lying around -- which need to be disposed of (or
   closed). This is sort of like a memory leak, because
   eventually the Oracle database will exhaust all its
   resources and throw SQLExceptions in your application.
  
   The only way I found to properly close these database
   resource associated objects (Connection, Statement,
   ResultSet, etc) was to hold on to the references after
   I created the objects and only use those references to
   close those objects. So if, for example, you open a
   Connection in one method and that method returns a
   ResultSet to a calling method, the calling method will
   not be able to close the Connection unless you also
   pass a reference to the Connection to the calling method.
  
   Also note, that the Oracle JDBC driver also does not
   correctly implement the Connection.close() method.
   According to the API documentation, closing

Re: Best way to add user records to EJBUserManager...

2002-01-08 Thread Patrick Lightbody

Instead of coding to EJBUserManager directly, I would highly recommend you
check out OpenSymphony's OSUser module. It is an abstracted user management
layer that works with Orion, Jboss, and Resin, and soon Weblogic, Websphere,
and JRun. Using OSUser will truly make your application work on any J2EE
application.

-Pat

- Original Message -
From: Alex Paransky [EMAIL PROTECTED]
To: Orion-Interest [EMAIL PROTECTED]
Sent: Monday, January 07, 2002 9:43 PM
Subject: Best way to add user records to EJBUserManager...


 I am using EJBUserManager for security in Orion.  What is the best way to
 update users?  Should I directly use EJBUser EJB or use the API's in the
 UserManager.  If UserManager is the answer, then how do I get access to it
 while running in Orion?

 Thanks

 -AP_






RE: [orion-interest]EJB2.0 spec or implementation?

2001-12-28 Thread Patrick Lightbody

Might I recommend xdoclet then?

xdoclet.sourceforge.net



At 12:20 PM 12/28/2001 -0800, Aaron Tavistock wrote:
I'm fairly sure that the SQL-92 spec calls for case insensitive column names
(but don't quote me on that cause I'm not 100% sure).  Also, since I'm in a
UNIX shop switching to Microsoft is not really an option (even *if* I wanted
to) - but thats not really the point.

More importantly, I'm aware I can change the post-deployment descriptor
created by Orion but thats a major pain-in-da-behind if I'm doing
development and want to redeploy several times.  When I've tried putting an
partial orion-ejb-jar.xml into the package, its never worked right, implying
that I need to copy a previously deployed version to modify - again
extremely cumbersome.

I was hoping that there was some way to do this without slicing up the
post-deployment orion generated files.

-Original Message-
From: Hani Suleiman [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 28, 2001 10:26 AM
To: Orion-Interest [EMAIL PROTECTED]; Aaron Tavistock
Subject: Re: [orion-interest]EJB2.0 spec or implementation?


On 28/12/01 12:56 pm, Aaron Tavistock [EMAIL PROTECTED] wrote:

  So heres the story - database field names are case insensitive, so common
  parlance for representing a space is an underscore (e.g. 'this_field').

Nope. MS SQLServer is not case insensitive. You could always tweak
orion-ejb-jar.xml to map it to whatever column names your heart desires





Re: SV: MDB in orion 1.5.2 using Queue

2001-10-19 Thread Patrick Lightbody

Magnus,
I created my own resource provider for Tibco JMS and it would work, but 
only for the Queue/Topic returned by getDefaultResource() (can't remember 
the exact method name off the top of my head).

Anyway, my orion-ejb-jar.xml would like like:
message-driven-deployment name=MyMessageDriven

My queue would be located at java:comp/resource/TibcoProvider/myQueue

But if I put in my orion-ejb-jar.xml file the complete signature, 
(jms/MyQueue), my MDB can't locate the proper queue/connection factory. 
It appears that jms/MyQueue would imply that the root of the lookup 
must take place at java:comp/env, which is a sibling to 
java:comp/resource. My JNDI knowledge is very limited, so if you can 
explain to me how I can specify which queue to use with my resource 
provider, that would be great!

message-driven-deployment cache-timeout=60|never 
connection-factory-location=jms/MyQueueConnection 
destination-location=jms/MyQueue max-instances=50 min-instances=5 
name=MyMessageDriven

-Pat

At 10:41 AM 10/19/2001 +0200, you wrote:
Hi.

1) In 1.5.3 Orion will tell you if you havent implemented MessageDrivenBean
and MessageListener in your MDB.

2) Orion will use the default JMS resource if you dont specify a
destination-location etc in orion-ejb-jar.xml.

ResourceProviders, made public in 1.5.2, lets you use 3rd party resources in
a very simple way. A document on this issue is in progress and will be
released shortly, with examples, samples and details.

A MDB document is also in progress, but other documents have higher prio
right now.
WR



  -Ursprungligt meddelande-
  Från: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]För Romen Law
  Skickat: den 19 oktober 2001 03:39
  Till: Orion-Interest
  Ämne: RE: MDB in orion 1.5.2 using Queue
 
 
  ello,
 
  Thanks for all the replies.
 
  I must apologise: my MDB using Queue was working all along. It's
  just that I
  was using System.out.println() for logging so I couldn't see it on the
  console. But after using log4j I could see it. Well, there is
  first time for
  everything.
 
  I did find two things though:
  1. someone posted before saying that in Orion you should not make MDB
  implement MessageListener, otherwise it will not work. I found that to be
  false.
 
  2. I still do need to modify the destination-location in
  orion-ejb-jar.xml.
  If I don't it still works provided that I only have one Queue or Topic
  defined in jms.xml. Orion seems to use that one disregarding the
  queue name
  you specify in the sender.
 
  cheers
  romen
 
 





Re: What's in 1.5.3?

2001-10-09 Thread Patrick Lightbody

You can find the new orion.jar in 'private'. That's all I'll say...

It will be released very soon I'm sure. I haven't found any changes.txt 
file though, so I can't tell you what is new.

-Pat

At 05:52 PM 10/9/2001 +0200, you wrote:
  Hi,

  Since 1.5.3 is in beta, is there anywhere where we can find a
  list of the changes that will be present in 1.5.3?

Where is 1.5.3 in beta?





Re: Server sometime stop responding (prompt of server is freezed)

2001-08-06 Thread Patrick Lightbody

Yes, you are probably running windows and had some text in the command 
prompt screen selected. Windows locks up all processes run from that 
windows if text is selected. Pressing enter will also unfreeze this. My 
suggestion: be careful with what you select :)

-Pat

At 12:02 PM 8/6/2001 +0200, you wrote:
hi,
I have an application on an orion server who stop responding for unknown
reasons.
But I have no way to find what's is wrong.
A CTRL-C comand make it go again (not stop and restart, just unfreeze
the prompt )
Does any  know why, and how to fix it?



--
Decornet Christophe
Ingénieur Développement
Tel :01.44.97.71.44
Société Fluxus 28/30 rue du chateau des rentiers
75013 Paris





Re: cmp and saving a file to a blob

2001-07-23 Thread Patrick Lightbody

Yeah, the IO might work, except that it violates the spec. Doesn't really 
hurt orion, but makes your EJBs not very distributable, since they have to 
be on the same machine where the files are stored. I wrote a simple RMI 
server that sits on the file server and receives a byte[] from EJBs. Then 
you can put the EJBs wherever, and not worry about being tied to the file 
system.

No, there is nothing wrong with using a blob either, might be a big slower 
too. And going with RMI, you could make things more optimized (like having 
a key and then emulating streaming across the network). Then you could find 
a middle group between network traffic and memory bandwidth on the VM. 
Sending one byte at a time a million times is SLOW, but sending a 
byte[100] will kill your server. Doing it with RMI will let you find 
that middle ground, doing it with BLOBS will require you to load up the 
entire file in to memory all at once.

-Pat

At 11:51 AM 7/23/2001 -0600, Nick Newman wrote:
Two part answer ...

1)

Another possible option is to make up a unique file name, and write the 
file to that.  Keep the name of the file (plus mime type, etc) in the 
EJB.  The getFile and setFile methods would read/write to this 
file.  You could use the ejbRemove method to delete the file. (And perhaps 
you will need other code to keep the files consistent with the DB).

This is not so pretty in some ways (you have extra things to keep 
straight) but it avoids the need for anything special in the DB.

Then again, perhaps this violates the strict specs about use of file IO in 
an EJB?  In any case, this is what I have (successfully) used.

2)

I don't think there's any reason you couldn't use BLOBs. The specs don't 
include them, but the specs don't even assume you have a database, do they?

Nick

At 10:06 AM 7/23/01 -0700, you wrote:
Problem, persisting a downloaded file in a cmp ejb.

Has anybody solved this problem? It seems like this is a problem not solved
by the specification.

A plan of attack:

1. web user uploads file through a form.
2. servlet processes file as an ArrayList of bytes with Nick Newman's
servlet (www.orionsupport.com/articles/downloads/UploadServlet.zip) with
some modifications.
3. file (now a List) is a member of a cmp bean with a list type Byte.

If we use this method, each byte is stored in a separate table. Kindof ugly.
Talk about a large table!

B plan of attack:

1. web user uploads file through a form.
2. servlet processes file as a byte array with Nick Newman's servlet
(www.orionsupport.com/articles/downloads/UploadServlet.zip).
3. A class called FileBytes is created which implements Serializable, the
only member is the byte array.
4. A cmp ejb with members mimetype, name, datetime, and filebytes.

Both of these methods require no hacking of the orion-ejb-jar.xml. We would
have to be satisfied with sql type long raw for most databases, however,
since the ejb spec doesn't include blobs. This means a limit of 2 GB...not
enough for a movie, but plenty large enough for anything else. Obviously we
should limit the size of the file, since all of the bytes have to be in
memory. Otherwise, we can break up the persitance into many 1 MB ejb's, each
with part of the file. This way, we don't have to have the file all in
memory at once.

If anybody has done this, let me know. I would like to hear some comments,
also. I will keep you posted on my experiences.

Regards,

the elephantwalker





RE: best way to build a link to work in different deployment configurations??

2001-07-20 Thread Patrick Lightbody

Or, to abstract one step further, just have a url tag:

img src=taglib:url url=/images/foo.gif/
a href=taglib:url url=/index.html/

webwork has a tag that does exactly this. It's also a very nice 
framework... check it out.

-Pat

At 08:39 AM 7/20/2001 -0700, elephantwalker wrote:
Another solution is to create a usr tld/tag for  img

user:img src=/images/logo.gif /

regards,

the elephantwalker


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Brian Thompson
Sent: Friday, July 20, 2001 8:02 AM
To: Orion-Interest
Subject: best way to build a link to work in different deployment
configurations??.


I have an application that during development is deployed multiple times
with the following...
 http://devwebsite/customerApp1
 http://devwebsite/customerApp2

In production, I'd like to deploy the applications as...
 http://customerApp1
 http://customerApp2

In the first case file references would look like the following
 img src=/customerApp1/images/logo.gif
while in the second case it should be
 img src=/images/logo.gif

My question is what is the best way to handle file references (links,
images, etc) within the application to support both deployments. We could
use the request.getContextPath() as a prefix to all file references
 img src=%=request.getContextPath()%/images/logo.gif
but to do this across an entire application seems like extra overhead. It
seems like there should be a more elegant solution. I've scoured the orion
doc to see if there is a way to do this through configuring websites and
webapps, but with no success. Has anyone discovered a better way??

Thanks.





Re: deployment

2001-07-17 Thread Patrick Lightbody

What happened is that you rebuilt the ejb-jar-ic.jar file incorrectly. 
Unjar the original jar (from the deploytool) and then unjar your new jar. 
You'll notice they product different directory structures.

-Pat

At 02:17 PM 7/17/2001 -0400, you wrote:
If this question has been posted before
please direct me to the archive location.
I did not find any reference to this problem.

I am using Sun's deploytool to create an ear file
that I want to deploy in orion.
The application deploys without difficulty with
the deploytool and Sun's default j2ee server.
(we're using jdk1.3.1 and j2sdkee1.3)
On my first try to deploy with Orion,
I get the following error message,
Illegal use-caller-identity value, legal values are True and False..
So I viewed the ejb-jar.xml file and found that the tag had no value.
Because the error msg gave me values I put 'False' in the tag
and saved the file.
Next I rebuilt the jar file with the modified ejb-jar.xml
and then rebuilt the ear file. I tried this with jar and winzip.
Now on to try and deploy with Orion again,
and this time I get the error message,
Unable to find/read assembly info for
C:\temp\secondejb/mod-secondejb.ear/ejb-jar-ic.jar (META-INF/ejb-jar.xml)

What has happened?

Thank you,
Jeanne





RE: Orion Bug or not?

2001-05-04 Thread Patrick Lightbody

Well, after some more hacking I narrowed it down to a simple test case, and 
it is now posted as bug #433 on orion's bugzilla. Take a look and let me 
know what I did wrong, I'm sure it isn't a bug with orion and i'm just 
being dumb. :-)

-Pat

At 10:58 AM 5/4/2001 +0200, Douma, Ate wrote:
I think your problem has not so much to do with your example but more how
Orion implemented their console output handling.
This happens when to make the console output window active and have some
sort of interaction with it (a mouse click within it etc.). The output
stream handling seems to be blocking for Orion and only after you press a
key within the console window the application server will continue with its
(pending) operations.

I'm not sure if I would call it a bug but it certainly is anoying.
If you want something to be done about you could enter it as a problem in
Bugzilla.

  -Original Message-
  From: Patrick Lightbody [mailto:[EMAIL PROTECTED]]
  Sent: Friday, May 04, 2001 7:15 AM
  To: Orion-Interest
  Subject: Orion Bug or not?
 
 
  I have a test.jsp file that is calling a class DocumentDelegate:
 
  %
  // 2304 is a test document
  DocumentDelegate dd = new DocumentDelegate(2304);
  dd.doAction(1, null, plightbo);
  // this action is supposed to throw an exception
  //   because the action, 1, is not allowed right now
  %
 
  DocumentDelegate.doAction() in turn calls a session bean:
 
  DocumentMgr.doAction(long docId, int action, Hashtable
  params, String userId)
  {
  try {
Workflow workfow = new TACWorkflow();
workflow.action(docId, action, userId, params);
  } catch (Exception e) {
  throw new EJBException(e.getMessage());
  }
  }
 
  In turn, the code in workflow.action() is doing:
  throw new EJBException(This workflow step can't be called
  right now);
 
  --
  Now that I got that out of the way... when I hit test.jsp on
  the browser,
  the exception shows up on the browser and I can see the
  transaction.log
  show up in the console. But... if I hit the page again with
  the browser,
  nothing happens at all. No transaction logs, no System.out.println()
  statements, nothing. I have to click stop on the browser.
  When I click
  reload, now TWO transactions (and System.out.println())
  statements show up
  (this one and the last one). What is going on here?
 
  I changed workflow.action() to just return; instead of throwing an
  EJBException, then the transactions take place as they should
  and the print
  statements show up as they should. I tried chaning
  EJBException to other
  exceptions, and the same problem occurs. Why would a thrown
  Exception cause
  this behavior?
 
  To recap: test.jsp calls class DocumentDelegate, which calls
  DocumentMgr
  session bean, which in turn loads up a class TACWorkflow and
  calls a method
  there.
 
  -Pat
 
  PS: this happens in 1.4.5 and 1.4.8
 
 





RE: Backward compatibility

2001-05-03 Thread Patrick Lightbody

Well, my first post (I finally coerced the mailing list to let me subscribe):

get the latest version of  jaxp.jar from java.sun.com. I had this problem 
when upgrading 1.4.5 to 1.4.8. I didn't get the problem when upgrade a 
clean copy of 1.4.5 to 1.4.8 though. Good luck!

-Pat

At 09:18 AM 5/3/2001 +0200, PHiL wrote:
Humm... I just autoupdate from 1.4.7 (application was OK before) to 1.4.8.
Orion doesn't start, here is the only trace I see:

javax.xml.parsers.FactoryConfigurationError:
com.sun.xml.parser.DocumentBuilderF
actoryImpl
 at
javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderF
actory.java:80)
 at com.evermind._yw.getJavaxDocument(Unknown Source)
 at com.evermind.xml.XMLUtils.getDocument(Unknown Source)
 at com.evermind.xml.XMLConfig._iw(Unknown Source)
 at com.evermind.xml.XMLConfig._iw(Unknown Source)
 at com.evermind._kh.run(Unknown Source)
 at java.lang.Thread.run(Thread.java:484)
 at com.evermind._jw.run(Unknown Source)

It even do not tried to deploy something...
Sounds like an XML trouble, you are rigth!

Any idears to fix this ???

Thanks,

Philippe PAGET.

  -Message d'origine-
  De : Mike Cannon-Brookes [mailto:[EMAIL PROTECTED]]
  Envoyé : jeudi 3 mai 2001 05:26
  À : Orion-Interest
  Objet : RE: Backward compatibility
 
 
  In what way? I'm having no problems. The only possible
  problem area is XML
  (but only if you've coded your software to use Xerces
  directly - which is
  bad ;))
 
  -mike
 
  
  Mike Cannon-Brookes - Technology Director, Asia Pacific
  internet.com Corporation - The Internet Industry Portal
  Ph: (612) 9290 1088 - Mob: 0416 106090
 
  - The Media Network @ http://australia.internet.com
  - Meet A Guru @ http://www.breakfastforums.com.au
  - Subscribe Online @ http://www.enewsletters.com.au
  
 
 
 
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED]]On Behalf Of
  Adam Cassar
   Sent: Thursday, May 03, 2001 12:37 PM
   To: Orion-Interest
   Subject: Backward compatibility
  
  
  
   Orion 1.4.8 not backward compatbile with at least 1.4.7?
  
   Anyone else experience this problem?
  
   --
  
   Adam Cassar
   Technical Development Manager
   ___
   NetRegistry http://www.netregistry.au.com
   Tel: +61 2 9641 8609 | Fax: +61 2 9699 6088
   PO Box 270 Broadway NSW 2007 Australia
  
  
  
 
 





Orion Bug or not?

2001-05-03 Thread Patrick Lightbody

I have a test.jsp file that is calling a class DocumentDelegate:

%
// 2304 is a test document
DocumentDelegate dd = new DocumentDelegate(2304);
dd.doAction(1, null, plightbo);
// this action is supposed to throw an exception
//   because the action, 1, is not allowed right now
%

DocumentDelegate.doAction() in turn calls a session bean:

DocumentMgr.doAction(long docId, int action, Hashtable params, String userId)
{
try {
  Workflow workfow = new TACWorkflow();
  workflow.action(docId, action, userId, params);
} catch (Exception e) {
throw new EJBException(e.getMessage());
}
}

In turn, the code in workflow.action() is doing:
throw new EJBException(This workflow step can't be called right now);

--
Now that I got that out of the way... when I hit test.jsp on the browser, 
the exception shows up on the browser and I can see the transaction.log 
show up in the console. But... if I hit the page again with the browser, 
nothing happens at all. No transaction logs, no System.out.println() 
statements, nothing. I have to click stop on the browser. When I click 
reload, now TWO transactions (and System.out.println()) statements show up 
(this one and the last one). What is going on here?

I changed workflow.action() to just return; instead of throwing an 
EJBException, then the transactions take place as they should and the print 
statements show up as they should. I tried chaning EJBException to other 
exceptions, and the same problem occurs. Why would a thrown Exception cause 
this behavior?

To recap: test.jsp calls class DocumentDelegate, which calls DocumentMgr 
session bean, which in turn loads up a class TACWorkflow and calls a method 
there.

-Pat

PS: this happens in 1.4.5 and 1.4.8