Re: how to shutdown orion app server?

2002-04-29 Thread Lachezar Dobrev



 Hi.
 Make sure you remove 
the'deactivated="false"' for admin in config/principals.xml

 Lachezar.

  Hi,
  I writed one EJB and deployed it successful on Orion 
  1.5.4. Buti get the Exception when i test it used one client 
  application:
  javax.naming.AuthenticationException: Invalid 
  username/password for default 
  (admin) at 
  com.evermind._dn._mu(.:2173) at 
  com.evermind._dn._mu(.:2009) at 
  com.evermind._dn._es(.:1590) at 
  com.evermind._bp._es(.:357) at 
  com.evermind.server.rmi.RMIContext.lookup(.:106) 
  at 
  javax.naming.InitialContext.lookup(InitialContext.java:347) 
  at ejbtest.Test1.main(Test1.java:24)
  code:
  Properties p = new 
  Properties();p.put(Context.INITIAL_CONTEXT_FACTORY, 
  "com.evermind.server.rmi.RMIInitialContextFactory");p.put(Context.PROVIDER_URL, 
  "ormi://211.167.71.60:23791");p.put(Context.SECURITY_PRINCIPAL, 
  "admin");p.put(Context.SECURITY_CREDENTIALS, 
  "123");try {Context ctx 
  = new InitialContext(p);OrganizationsHome home = 
  (OrganizationsHome)ctx.lookup("ejb/OrgOrganizations");Organizations 
  remote = (Organizations)home.create();} catch (Exception ex) 
  {ex.printStackTrace();}
  help me!


Re: Re: how to shutdown orion app server?

2002-04-29 Thread Lachezar Dobrev



 Hi. Again.
 Now. The code seems correct. Except, the 
url, that MAY require to be of the type: 
ormi://localhost/Your_App_Name.
 If you have deployed your beans in an 
application, and NOT in the default APP, you HAVE to use the url with the 
app_name at the end.
 in config/server.xml
 application 
name="Your_App_Name" path="../applications/YourApp.ear"/
 in properties:
 
java.naming.provider.url=ormi://your.host.your.domain/Your_App_Name
 or
 
java.naming.provider.url=ormi://localhost/Your_App_Name  FOR LINUX 
MAINLY!
 in java code:
 p.put(Context.PROVIDER_URL, 
"ormi://localhost/Your_App_Name");

 Then you will find your ejbs.
 I would sincerly offer you to look-up the 
name of the bean without any prefixes. It is hard to move to other app server 
sometimes. In your case if you have no ejb-link, ejb-ref and so on stuff, just 
look-up OrgOrganizations:
 
ctx.lookup("OrgOrganizations");

 Also let's note, that if you use the 
java:comp/* context it may not port well on different servers.

 Lachezar.
 P.S. Give ita try and write 
again.


  but i can't look up my ejb,how to config it.
  thanks
  
  
  


  

   Hi.
   Make sure you remove 
  the'deactivated="false"' for admin in 
  config/principals.xml
  
   Lachezar.
  
Hi,
I writed one EJB and deployed it successful 
on Orion 1.5.4. Buti get the Exception when i test it used one 
client application:
javax.naming.AuthenticationException: 
Invalid username/password for default 
(admin) at 
com.evermind._dn._mu(.:2173) 
at 
com.evermind._dn._mu(.:2009) 
at 
com.evermind._dn._es(.:1590) 
at 
com.evermind._bp._es(.:357) 
at 
com.evermind.server.rmi.RMIContext.lookup(.:106) 
at 
javax.naming.InitialContext.lookup(InitialContext.java:347) 
at ejbtest.Test1.main(Test1.java:24)
code:
Properties p = new 
Properties();p.put(Context.INITIAL_CONTEXT_FACTORY, 
"com.evermind.server.rmi.RMIInitialContextFactory");p.put(Context.PROVIDER_URL, 
"ormi://211.167.71.60:23791");p.put(Context.SECURITY_PRINCIPAL, 
"admin");p.put(Context.SECURITY_CREDENTIALS, 
"123");try 
{Context ctx = new 
InitialContext(p);OrganizationsHome home = 
(OrganizationsHome)ctx.lookup("ejb/OrgOrganizations");Organizations 
remote = (Organizations)home.create();} catch 
(Exception ex) 
{ex.printStackTrace();}
help 
  me!
  
  = = = = = = = = = = = = = = = = = = = = = = 

  ÖÂÀñ£¡
  Liu Bin
  [EMAIL PROTECTED]¡¡2002-04-29
  


Re: JNDI question: client talking to EJBs on multiple app servers

2002-04-19 Thread Lachezar Dobrev

  Well... dedicated.connection=true is not documented :)))
  Second. There ARE drawbacks.
  The method you show in the message will lead you to resource leakage.
  Try reusing contexts for one and the same target.
  Anyway. The Answer is: YES, it WILL work.

  However. The classes, for the Home and remote interfaces for the beans you
are looking-up for have to be in the Bootstrap class-path (in most cases in
the boot jar, or specified on the commandline). Otherwise you will get a
ClassCastException ( MyClass implements MyInterface and not
MyInterface and the VM thinks these are different classes :((( ).

  Anyway. for a simple stand-alone client this works fine, as long as you
stay out of dynamic-class-loading and keep in mind, that each ne Context
gets another thread, socket and leads to resource shortage.

  Otherwise the code in your case would work just fine. :)))

  Lachezar

 Brilliant -- thanks. What I couldn't find was any documentation
 on what goes in the environment Hashtable. :)

 What does the dedicated.connection=true property do? If I were
 to do this:

   public FooRemote getRemote(String jndiURL)
   {
  Hashtable env = new Hashtable();
  env.put(Context.PROVIDER_URL, jndiURL);
  InitialContext context = new InitialContext(env);
  Object ref = context.lookup(EJB_NAME);
  FooHome home =
   (FooHome)PortableRemoteObject.narrow(ref, FooHome.class);
  FooRemote remote = home.create();
  return fooRemote;
   }

   public void doStuff()
   {
 FooRemote beanOne = getRemote(ormi://fred/app);
 FooRemote beanTwo = getRemote(ormi://wilma/app);
 // do stuff...
   }

 Will it work? Or is the remote going to get confused as to
 which server it points to?

 On Thu, 2002-04-18 at 00:53, Lachezar Dobrev wrote:
Hi.
A working model is to create two Initial Context-s for each server.
Use a dedicated.connection=true property to create the context.
The dedicated.connection however leads to resource leakage, and if
you
  keep creating more and more of them you will eventualy get
  java.lang.OutOfMemoryError: Can not create native thread at some
200-300
  contexts.
If you create an context for both servers, and then use them later you
  might not have this problem.
 
public static Context[] connections;
 
public void ejbCreate(){
  if ( connections != null ) return;
  Hashtable env = new Hashtable();
 
  // Use any of these.
  env.put(dedicated.connection, Boolean.TRUE );
  //env.put(dedicated.connection, true);
 
  // Set up user, pass,
  // factory (RMIInitialContextFactory).
  env.put(..., ); // Set up things
 
  connections = new Context[2];
 
  // For The first server
  env.put(Context.PROVIDER_URL, ormi://Comp1/App1);
  connections[0] = new InitialContext(env);
 
  // Now for the other server
  env.put(Context.PROVIDER_URL, ormi://Comp2/App2);
  connections[1] = new InitialContext(env);
}
 
public void connectServer1(){
  connections[0].lookup(MyBean1);
}
public void connectServer2(){
  connections[1].lookup(MyBean2);
}
 
 You DO understand this is Orion-specific, right?
 
Good luck. Lachezar.
 
   I've got the same beans deployed on two different app servers (each
   backed by a different database). I want my client to talk to both.
   Say the two app servers are running on machines named Fred and Wilma;
  
   I know I can choose which one I talk to by setting
  
 java.naming.provider.url=ormi://fred/app
  
   or
  
 java.naming.provider.url=ormi://wilma/app
  
   But how do I switch at run time? I don't want to keep changing the
   system property every time I get an InitialContext(), because the
   system property is a global setting and one piece of code might not
   know what another piece of code is doing. Is there a way to specify
   the JNDI url when you create an InitialContext?
  
  
  
 
 
 







Re: JNDI question: client talking to EJBs on multiple app servers

2002-04-18 Thread Lachezar Dobrev

  Hi.
  A working model is to create two Initial Context-s for each server.
  Use a dedicated.connection=true property to create the context.
  The dedicated.connection however leads to resource leakage, and if you
keep creating more and more of them you will eventualy get
java.lang.OutOfMemoryError: Can not create native thread at some 200-300
contexts.
  If you create an context for both servers, and then use them later you
might not have this problem.

  public static Context[] connections;

  public void ejbCreate(){
if ( connections != null ) return;
Hashtable env = new Hashtable();

// Use any of these.
env.put(dedicated.connection, Boolean.TRUE );
//env.put(dedicated.connection, true);

// Set up user, pass,
// factory (RMIInitialContextFactory).
env.put(..., ); // Set up things

connections = new Context[2];

// For The first server
env.put(Context.PROVIDER_URL, ormi://Comp1/App1);
connections[0] = new InitialContext(env);

// Now for the other server
env.put(Context.PROVIDER_URL, ormi://Comp2/App2);
connections[1] = new InitialContext(env);
  }

  public void connectServer1(){
connections[0].lookup(MyBean1);
  }
  public void connectServer2(){
connections[1].lookup(MyBean2);
  }

   You DO understand this is Orion-specific, right?

  Good luck. Lachezar.

 I've got the same beans deployed on two different app servers (each
 backed by a different database). I want my client to talk to both.
 Say the two app servers are running on machines named Fred and Wilma;

 I know I can choose which one I talk to by setting

   java.naming.provider.url=ormi://fred/app

 or

   java.naming.provider.url=ormi://wilma/app

 But how do I switch at run time? I don't want to keep changing the
 system property every time I get an InitialContext(), because the
 system property is a global setting and one piece of code might not
 know what another piece of code is doing. Is there a way to specify
 the JNDI url when you create an InitialContext?








Re: how do I setup a datasource for mssql ?

2002-04-17 Thread Lachezar Dobrev

  Change the url and the driver. You have miswritten them:

url=jdbc:microsoft:.
connection-driver=com.microsoft.jdbc.sqlserver.SQLServerDriver

  Lachezar

 Subject: how do I setup a datasource for mssql 1 2 3 4 5 6 7 8 9
 From: alt.cybercafes [EMAIL PROTECTED]
  ===
 I have tried setting up my the datasource like the following

 data-source
   class=com.evermind.sql.DriverManagerDataSource
   name=Billing
   schema=database-schemas/ms-sql.xml
   location=jdbc/Billing
   xa-location=jdbc/Billing
   ejb-location=jdbc/Billing
   url=com.microsoft.jdbc.sqlserver.SQLServerDriver


connection-driver=jdbc:microsoft:sqlserver://myserver:1433;DatabaseName=Bil
 ling
   username=applesauce
   password=1234
   inactivity-timeout=30
  /

  and I get the following errors
 Error initializing data-source 'jdbc/Billing': DriverManagerDataSource
 driver 'jdbc:microsoft:sqlser
 ver://Appserver1:1433;DatabaseName=Billing' not found

 What am I doing wrong?

 thanks









Re: [orion-interest]Re: include orion-ejb-jar.xml in an ejb.jar ?

2002-04-12 Thread Lachezar Dobrev

  Hani, you have misunderstood me.
  My problem is not that orion does not overwrite the deployment file. This
is good. The problem is that orion on redeployment totaly ignores DDs, and
starts from scratch. I had to look for a mile to see, why my MDBs are not
subscribed on redeployment. Orion ignores both the xml in the jar and the
xml in the deployment dir.

  I also support the idea of NOT overwriting the current DDs.
  The bug I was talking about is long known from 1.4.8, and I hoped it to
be solved, but it emerges from time to time, mainly (if not only) with MDBs.

  Lachezar

 Wrong, this is not a bug, this is part of application assembly/deployment.

 The reason that orion does not wipe out the application-deployments files
is
 so that you can have different deployments of the same app in different
 systems, with different table names perhaps or column names (just as an
 example).

 For example, the list of disallowed fields is different across DB's, so if
 you're using CMP, you might have a field called parent, which is sometimes
 parent_ on some db's. Another example, you might have a db to which you do
 not have exclusive write access, so in that particular deployment, you
want
 to turn off that flag.

 Orion makes this possible by not destroying deployment specific files
every
 time you deploy something new. This means you can deliver updates to your
 application and each particular deployment need not worry about your
 shipping default settings clobbering their customisations. Makes sense?

 The only caveat with this is that orion will NOT do merges between the
 shipping and deployed file. So for example if you add a new bean, it's xml
 fragment will not be picked up from your shipping orion-ejb.xml, since a
 previous deployment already exists in application-deployments. In this
case
 you'd have to add in the bean manually to the deployed descriptor. Hope
this
 clears this issue up.

 So please think carefully before deciding to scream out bug, or at least
ask
 around!

 On 11/4/02 10:24 am, Lachezar Dobrev [EMAIL PROTECTED] wrote:

  Maybe I don't get it. What is the problem. When you redeploy the ear it
  should get the new DDs.
  However, I WILL recommend to delete the deployment dir before
  (re)deployment. Orion has a nasty bug, that ignores the DD in the
  jar/ear/war on redeployment. That is nasty. You should delete the
directory
  of the jar/ear/war deployment, before (re)deploying.
 
  I will also recommend to leave the EAR structure, and use plain
directory
  structure for your app. Use only ejb-jars.
 
  Again. If this is not your problem, elaborate more to solve it. I have
had
  quite some experience since 1.4.5 and can help in most cases.
 
  Lachezar
 
  o.k. it works!  Thanks for comments!
 
  Now we have got another problem, since the orion-ejb-jar.xml is placed
in
  the corresponding jar-file,
  orion detects an updated  orion-ejb-jar.xml every time i deployd the
  ear-file, wich contains theses jar-file.
  In my opinion this happens because the generated orion-ejb-jar.xml unde
  the
  orion deployment-directory is newer then
  the orion-ejb-jar.xml-file contained in the corresponding
  jar-file  (because it would be used as a template or sample).
  Even there are only changes in other jar-files, which contains
  session-beans, orion detected an new orion-ejb-jar.xml
  on every deployment.
  How could i prevent orion from detection of an new orion-ejb-jar.xml?
 
 
  At 13:50 10.04.2002 +0200, you wrote:
Hi.
Yes. You may include an orion-ejb-jar.xml in the jar file. Orion
  wiull
  read it on deployment, mix-in the missing values, and then use that
xml.
Since orion 1.4.8 the orion-ejb-jar.xml should be in the META-INF
  directory in the jar. Earlier versions had the deployment dd in
another
  directory.
 
A different problem is sharing the xml, and automaticaly including
it
  in
  the builded jars. JBuilder has the ability to include
custom-generated
  DDs
  in the generated jar. this is good, and is very well used in
conjuction
  with
  a CVS system. Other building tools may have different way to do that.
 
Lachezar.
 
  Hi,
 
  thank you for the comment on my last posting distibute beans in
  different
  jar!
 
  Here is another question:
 
  We develop in a small team. One person create the entity-beans with
  finder,
  interfaces , dd and so on
  If he creates an new finder, he has to create the where clause of
the
  SQL-Statement in the orion-ejb-jar-xml-file.
  Every developer runs his own orion-server for development, becaus we
  won't
  test agains a common server, because of the frequence of changes in
  the
  development process in a team.
  Is it possible to include the generated an corrected
  orion-ejb-jar-xml-file
  in the jar-file or the era-file, so that orion read it?
  Then the developer could create this file, commit it in CVS and the
  other
  developers could work with the new ejb.jar-file without copy an new
  orion-ejb-jar-xml-file

Re: include orion-ejb-jar.xml in an ejb.jar ?

2002-04-11 Thread Lachezar Dobrev

  Maybe I don't get it. What is the problem. When you redeploy the ear it
should get the new DDs.
  However, I WILL recommend to delete the deployment dir before
(re)deployment. Orion has a nasty bug, that ignores the DD in the
jar/ear/war on redeployment. That is nasty. You should delete the directory
of the jar/ear/war deployment, before (re)deploying.

  I will also recommend to leave the EAR structure, and use plain directory
structure for your app. Use only ejb-jars.

  Again. If this is not your problem, elaborate more to solve it. I have had
quite some experience since 1.4.5 and can help in most cases.

  Lachezar

 o.k. it works!  Thanks for comments!

 Now we have got another problem, since the orion-ejb-jar.xml is placed in
 the corresponding jar-file,
 orion detects an updated  orion-ejb-jar.xml every time i deployd the
 ear-file, wich contains theses jar-file.
 In my opinion this happens because the generated orion-ejb-jar.xml unde
the
 orion deployment-directory is newer then
 the orion-ejb-jar.xml-file contained in the corresponding
 jar-file  (because it would be used as a template or sample).
 Even there are only changes in other jar-files, which contains
 session-beans, orion detected an new orion-ejb-jar.xml
 on every deployment.
 How could i prevent orion from detection of an new orion-ejb-jar.xml?


 At 13:50 10.04.2002 +0200, you wrote:
Hi.
Yes. You may include an orion-ejb-jar.xml in the jar file. Orion
wiull
 read it on deployment, mix-in the missing values, and then use that xml.
Since orion 1.4.8 the orion-ejb-jar.xml should be in the META-INF
 directory in the jar. Earlier versions had the deployment dd in another
 directory.
 
A different problem is sharing the xml, and automaticaly including it
in
 the builded jars. JBuilder has the ability to include custom-generated
DDs
 in the generated jar. this is good, and is very well used in conjuction
with
 a CVS system. Other building tools may have different way to do that.
 
Lachezar.
 
   Hi,
  
   thank you for the comment on my last posting distibute beans in
different
   jar!
  
   Here is another question:
  
   We develop in a small team. One person create the entity-beans with
 finder,
   interfaces , dd and so on
   If he creates an new finder, he has to create the where clause of the
   SQL-Statement in the orion-ejb-jar-xml-file.
   Every developer runs his own orion-server for development, becaus we
won't
   test agains a common server, because of the frequence of changes in
the
   development process in a team.
   Is it possible to include the generated an corrected
 orion-ejb-jar-xml-file
   in the jar-file or the era-file, so that orion read it?
   Then the developer could create this file, commit it in CVS and the
other
   developers could work with the new ejb.jar-file without copy an new
   orion-ejb-jar-xml-file in the deployment-directory.
  
  
   best regards
  
   Matthias Gottschlich
  
 
 --
 --
   mail: [EMAIL PROTECTED]
   tel: 030 343462 30 / fax: 030 343462 58 / mobil: 0178 7796466
 
 --
 --
  
 
 mit freundlichen Grüssen
 
 Matthias Gottschlich
 

---
-
 mail: [EMAIL PROTECTED]
 tel: 030 343462 30 / fax: 030 343462 58 / mobil: 0178 7796466

---
-






Re: include orion-ejb-jar.xml in an ejb.jar ?

2002-04-10 Thread Lachezar Dobrev

  Hi.
  Yes. You may include an orion-ejb-jar.xml in the jar file. Orion wiull
read it on deployment, mix-in the missing values, and then use that xml.
  Since orion 1.4.8 the orion-ejb-jar.xml should be in the META-INF
directory in the jar. Earlier versions had the deployment dd in another
directory.

  A different problem is sharing the xml, and automaticaly including it in
the builded jars. JBuilder has the ability to include custom-generated DDs
in the generated jar. this is good, and is very well used in conjuction with
a CVS system. Other building tools may have different way to do that.

  Lachezar.

 Hi,

 thank you for the comment on my last posting distibute beans in different
 jar!

 Here is another question:

 We develop in a small team. One person create the entity-beans with
finder,
 interfaces , dd and so on
 If he creates an new finder, he has to create the where clause of the
 SQL-Statement in the orion-ejb-jar-xml-file.
 Every developer runs his own orion-server for development, becaus we won't
 test agains a common server, because of the frequence of changes in the
 development process in a team.
 Is it possible to include the generated an corrected
orion-ejb-jar-xml-file
 in the jar-file or the era-file, so that orion read it?
 Then the developer could create this file, commit it in CVS and the other
 developers could work with the new ejb.jar-file without copy an new
 orion-ejb-jar-xml-file in the deployment-directory.


 best regards

 Matthias Gottschlich

 --
--
 mail: [EMAIL PROTECTED]
 tel: 030 343462 30 / fax: 030 343462 58 / mobil: 0178 7796466
 --
--






Re: Werent current caller

2002-04-08 Thread Lachezar Dobrev

   Hello. By the message, I would assume (correct me), that you have a
parent/child relation. I may _guess_, that you are trying to use the parent
to set something in the child (like the parent ID). If this is the case, you
might _need_ to set the parent to be reentrant=true. That helped me.
   My code required to create the child with a parameter like:
  (XML_Tag)entityContext.getEJBObject()
   so that the child knows it's parent... That requires reentrant=true.
   It _may_ be a shot in the dark, because I've not come upon this
exception, but rather some other (can't remember which though).
   However, this is no-cost test and is worth trying.

   Lachezar.



- Original Message -
From: Jeff Lowcock [EMAIL PROTECTED]
To: Orion-Interest [EMAIL PROTECTED]
Sent: Saturday, April 06, 2002 9:56 AM
Subject: RE: Werent current caller


This is the stack trace from the server.


java.lang.InternalError: Werent current caller, server stacktrace (to
disable this message, use -Dejb.assert=false at startup):
java.lang.Throwable: Werent current caller void
NetNwkEjb_EntityBeanWrapper41.setEntityBean(javax.ejb.EntityBean)
  void
com.evermind.server.ejb.EntityEJBHome.passivateAndRelease(com.evermind.serve
r.ejb.EvermindEntityContext, boolean)
  void com.evermind.server.ejb.EntityEJBObject.releaseContext(boolean)
  com.neowurks.network.ejb.NetNwkEjb
NetNwkEjbHome_EntityHomeWrapper57.create(long, java.lang.String,
java.lang.String)
  java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object,
java.lang.Object[])
  void com.evermind.server.rmi.RMICallHandler.run(java.lang.Thread)
  void com.evermind.util.ThreadPoolThread.run()

I've also received a mail that seems to indicate that the responder has only
seen this in the oracle version of orion, which is the version I'm using.
However OTN has been unavailable for the last day or so and I've not been
able to check if there is any information there as well.

This exception is being raised when I've successfully created the parent CMP
and then try and create the child CMP, which then throws this.  I'm working
now to produce a focused piece of code to illustrate the client and server
side without all of the other application baggage.

-Original Message-
From: Scott Farquhar [SMTP:[EMAIL PROTECTED]]
Sent: 06 April 2002 02:05
To: Orion-Interest
Subject: Re: Werent current caller

Can you post the stack trace?

Jeff Lowcock wrote:
 I'm getting this exception and message raised in the server when I'm
attempting to create a new CMP instance.  I cannot find any documentation on
this message and way too much on the exception java.lang.InternalError, can
anyone direct me to a source where I can identify possible sources of this
error and where I'm going wrong.

 I've searched the Orion support site and the only mails I can find are for
0.9.4 and 0.9.6 versions, and none fo these mails actually describe the
conditions I have.

 where to now?





--
Scott Farquhar :: [EMAIL PROTECTED]

Atlassian :: http://www.atlassian.com
  Supporting YOUR J2EE World








Re: How can I make orion stop caching my EBs?

2002-04-08 Thread Lachezar Dobrev

   Answer:

orion-ejb-jar.xml

entity-deployment . exclusive-write-access=false ... 

   Lachezar


- Original Message -
From: Cristian Donciulescu
To: Orion-Interest
Sent: Monday, April 08, 2002 12:35 PM
Subject: How can I make orion stop caching my EBs?


Hello,

I have an application that uses some EBs. The underlying data on which the
EBs are mapped is modified by an  external application.
Orion caches the entity beans, so I don't see the DB modifications
immediately in the beans.

How can I make orion stop caching my EBs?

Thanks,
Cristian





Container does not passivate my beans.

2002-03-08 Thread Lachezar Dobrev

  Hello.
  I sent a message some days ago, to no avail. It didn't show up in the
list.

  My problem is, that Orion does not passivate my beans.
  I have tested both CMP and BMP, with NO success...

  I ran a test, which created 1 million bean instances. Orion kept up
creating beans, until at last it ran out of memory (740MB).
  Am i doing something wrong?

  for (int i = 0; i  100; i ++){
MyHome.create(i);
  }

  No success... 1 million. If these are not released imagine what will
happen at a later moment? I need to create beans continuously. Do I have to
restart Orion every couple of minutes, just to clear the bean pools?

  I must say I'm very disappointed. I don't see reason to use Entity Beans
any more. I better serialize to files. THAT will do the job.

  Later all.
  Lachezar





Re: Crap bytes in HTTP response

2002-02-25 Thread Lachezar Dobrev

  Well... I don't really know what did you do to get this behavior (I am
trying for about 6 months to do that, and could not), but that is LEGAL
behavior.
  Look at the Transfer-Encoding: chunked header. That means, that the
response from the servlet consists of several chunks.

  Line 1 ( the 4 thing) means, that there wilkl be 4 bytes of the first
chunk. than a newline, than line 3 ( the 0 thing) means there are no more
chunks to be sent.

  Can you please post the whole code? And the web-xml part (orion-web-xml
also if applicable)?

  That way we may look further into the problem? I wish I knew how to do
that.
  That is a VERY useful feature, especialy, when you need to do some
heavy-time-consuming things in the servlet. Just post a chunk every couple
of seconds, and the browser will NOT timeout.

  This is VERY useful. Believe me.

  Lachezar.
  P.S. I would REALLY like to see your solution.

 I've got a problem with HttpServletResponse. Here's my test-servlet
doGet():

 response.setContentType(text/plain);
 PrintWriter out = response.getWriter();
 out.print(TEST);

 Here's what I get telneting:
 
 platon% telnet localhost 
 GET /lux/testz HTTP/1.1
 Host: localhost

 HTTP/1.1 200 OK
 Date: Mon, 25 Feb 2002 17:57:20 GMT
 Server: Orion/1.5.4
 Connection: Close
 Content-Type: text/plain
 Transfer-Encoding: chunked

 4
 TEST
 0

 -

 What 4? What 0? What extra newline? This breaks just about everything.
Where did
 I go wrong, any ideas?

 Tommi Penttilä







Re: Problems configurating classpath

2002-02-19 Thread Lachezar Dobrev



 If you want to squeeze everything out of 
your processor you might want to check the "java" startup parameters in order to 
highen up memory usage. Also if you are running under Win2k you might want to 
give higher priority to the java process, that orion is running within. On Linux 
it is even easier.

 lachezar


  - Original Message - 
  From: 
  John 
  Creaner 
  To: Orion-Interest 
  Sent: Tuesday, February 19, 2002 11:58 
  AM
  Subject: RE: Problems configurating 
  classpath
  
  All,
  
  
  I 
  have a small question, I am currently having a problem with orion. The problem 
  is that it doesn't seem to be taking advantage of the machine 
  that
  it 
  situated on. 
  The 
  question is how or is it possible to configure orion to take advantage of the 
  machine that it is placed on top of ?
  
  Thanks


Re: log4J

2002-02-11 Thread Lachezar Dobrev

  Hi.
  Short: Log4J is a logging facility implementation, highly configurable.
Excelent.
  Long : Log4J is http://jakarta.apache.org/log4j/index.html

  Download and see.

  Lachezar

 hi all,
Can u pls tell me what is log4J exactly and the use of it... i also
haveone more
 problem i.e every time i make changes in EJB it takes my server to get
restarted. My
 server is Oracle 9iIAS that uses Orion..
 Looking forward for help on this..
 have a nice day,
 Parimala





Re: orion + php

2002-02-10 Thread Lachezar Dobrev

  Hi.
  In order for this setup to work you need to compile php as a stand-alone
executable, name it php and put it in the execution path (/usr/bin/ may be a
good location).

  Try it.
  Orion wraps the php pages with a CGI-servlet, which executes external
commands to parse the files.

  Lachezar

 I am getting the following error,

 500 Internal Server Error
 Couldnt find/launch the interpreter, searched for php

 My configuration file has the following,

 servlet
 servlet-namephp/servlet-name
 servlet-
 classcom.evermind.server.http.CGIServlet/serv
 init-param
 param-nameinterpreter/param-name
 param-valuephp/param-value
 /init-param
 /servlet

 I have php working with Apache no problem (mod_php4 port for fbsd).

 Is there something obvious that I'm just missing?

 Thanks,

 Justen Stepka







RMI-HTTP(s)-Tunneling done. FYI!

2002-02-06 Thread Lachezar Dobrev

  Hi.
  Lately I sent an email describing my problems with the rmi-http-tunneling.
  Many of you may have stumbled upon these problems.
  Well... I was able to run it, even over HTTPS!

  Problem description:
   The rmi-http-tunnel servlet bundled with Orion 1.5.2 (maybe other
versions also) does not flush the response buffers, after sending the
required response headers to the client. That results in a deadlock:
   1. The client sends the request to the server.
   2. The servers sets the required headers for the reply, so that the
client understands, that this IS really a tunnel servlet. These are
tunnel-type: normal and dummy: normal headers.
   3. THE SERVLET SHOULD FLUSH ITS BUFFERS, so that the client receives the
affirmative response for tunneling services. This is not done by the bundled
servlet.
   4. The client waits to hear the headers, that are required by it (those
mentioned in 2). However the servlet has not flushed, and the client waits
forever. It will not send the real rmi request, and the server will also not
do anything.

   This results in a deadlock. The client waits for the headers in the
response, the server waits for further request.

   Solution: Write your own tunneling servlet. If you want to deploy it with
a name differnet than rmi, then you should supply the
http.tunnel.path=/servlet/your_servlet_name property in the
jndi.properties, ot the environment properties.

   P.S. I'm not sure, if orion-boys will soon fix this. I'm also not sending
my servlet, for obvious reasons.

   Lachezar





Re: HTTP 1.1 POSTgenerates duplicated response

2002-01-25 Thread Lachezar Dobrev

  IE uses to call an url twice.
  I have come upon this behavior.
  I am not sure of the reason.
  I have also seen, that the default method for the HEAD request calls the
GET method with a dummy HTTPServletResponse. It just returns the headers,
that are sent by the servlet. This may be your problem, IF you are accessing
the bean in the GET method also.
  Try a few things to clear this out (log in all methods to see what method
is called when).
  This is quite unclear, but I have come to think that it is IE to send a
request twice. I have seen it try to access a jsp, then the JSP dies with a
Connection Closed By Foreign Host, and then IE requests the JSP again.

  I am quite sure it is not Orion, but IE. Haven't seen that with Netscape.

  Lachezar

 We are hitting this extrange behaviour:

 We have a post response calling  an entity bean in our Orion server and
 when the POST HTTP request is logged in HTTP1.1 protocol the function of
 the Entity Bean is called twice but there is only one request logged!!

 We get this behaviour when using IE 5.5 (HTTP1.1) but when the client is
 IE 5.0 (HTTP 1.0) the function is called only once.

 Is there any configuration problem?

 Thank you

 Inaki






Error Deploying a COMPLEX ejb jar. Haven't seen that one.

2001-12-20 Thread Lachezar Dobrev

   I have got a complex ejb-jar with a SSLB and an CMP-EB, which references
itself.

   When deploying I receive:

Auto-deploying Result_Server.jar (No previous deployment found)...
Error compiling D:\Orion\applications\IntraPlan/Result_Server.jar: Internal
error, unset persistence type for parent: 0


   Anyone stumbled upon this?
   HLP!!!

   Lachezar





Re: Using Apache with Orion Server

2001-12-18 Thread Lachezar Dobrev


smime.p7m
Description: application/pkcs7-mime


Re: System.exit(0)

2001-12-17 Thread Lachezar Dobrev

   Try removing shutdown hooks.
   That may however result in data loss, desync and so on.

   Lachezar

 Hi Folks,
 I try to exit Orion via System.exit() from within the running
 application server. This works fine. My problem is: This works only fine
 after Orion has completely initialized and says Orion initialized on
 the console. I do start some services within the initialize phase of
 Orion and in some cases I want Orion to stop straight away and exit the
 VM before finish initializing.
 How can I tell Orion to stop initializing and shut down?
 many greets to you
 Erik Zimmermann
 





Re: Filters in Orion 1.5.3

2001-11-26 Thread Lachezar Dobrev

   My personal bet: Shitty Autoupdate.
   Try autoupdating from 1.5.2 again.

   BTW. Test on 1.5.2. This may clarofy things up.


   Lachezar.


 Hi all
 
   My web-app doesn't work on Orion 1.5.3 with this error:
 
 
 500 Internal Server Error
 java.lang.NoClassDefFoundError: javax/servlet/Config
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Unknown Source)
 at com.evermind[Orion/1.5.3 (build 10509)]._co._ssc(.:6388)
 at com.evermind[Orion/1.5.3 (build 10509)]._bxb._crd(.:258)
 at com.evermind[Orion/1.5.3 (build 10509)]._bxb._ukb(.:170)
 at com.evermind[Orion/1.5.3 (build 10509)]._cn._uab(.:576)
 at com.evermind[Orion/1.5.3 (build 10509)]._cn._fm(.:189)
 at com.evermind[Orion/1.5.3 (build 10509)]._bs.run(.:62)
 
 
   After switching off all used filters in web.xml all works fine.
   Did someone collide with this problem?
   
 
 -- 
 Sergey G. Aslanov
 CBOSS Group,
 Web-technologies department
 mailto:[EMAIL PROTECTED]
 tel: +7 095 7555655
 
 





Re: OrionRemoteException: Error (de-)serializing object

2001-11-26 Thread Lachezar Dobrev



 Exception says it 
all...
 This is a logn-time discussed 
problem/issue.
 Your Ejb methods should return the 
valid J2EE types: simple types, Serializable, EJBObject, Remote and 
Externalizable (I think).
 The ResultSet is none of the 
above.
 You should do something else. A 
Vector would be my solution. Just wrap the data, that is returned in the 
ResultSet with a Serializable bean and populate the vector with 
them.

 Of course it is not as easy as it 
sounds, if you want to change the data. But if it is the data itself... It will 
help.

 That's it.


 Lachezar



  - Original Message - 
  From: 
  Andres 
  Garcia Hourcade 
  To: Orion-Interest 
  Sent: Monday, November 26, 2001 8:41 
  PM
  Subject: OrionRemoteException: Error 
  (de-)serializing object
  
  
  Hi, i am new in J2EE technology and i'm big troubles.
  I have an intranet application (jsp  ejb) running fine with version 
  1.4.0,
  i am trying to deploy the same EAR in 1.5.2 version, but i get this 
  error.
  com.evermind.server.rmi.OrionRemoteException: Error (de-)serializing 
  object:
  org.gjt.mm.mysql.jdbc2.ResultSet; nested exception is:
  java.io.NotSerializableException: org.gjt.mm.mysql.jdbc2.ResultSet
  This error occurs when i return a ResultSet from a method "executeQuery" 
  of
  an EJB that manages de mysql db.
  I have written many jsp, that are in production, and i woud not want to
  modify them.
  Is there any solution for this error ?
  Can i solve this problem if i return a Vector, instead of a ResultSet ?
  Many thanks in advance and best regards
  Andres Garcia Hourcade
  
  EJB
  
  import java.rmi.*;
  import java.util.*;
  import javax.ejb.*;
  import javax.naming.*;
  import java.sql.*;
  import javax.sql.*;
  import javax.sql.DataSource;
  // ejb que maneja archivos de log
  import Log.*;
  public class DbManagerBean implements SessionBean
  {
  transient SessionContext context;
  transient Connection conn = null;
  transient DataSource ds = null;
  transient Statement st = null;
  transient ResultSet rs = null;
  public void getConnection(String datasource) throws RemoteException,
  DbManagerException
  {
  try
  {
  InitialContext ictx = new InitialContext();
  this.ds = (DataSource) ictx.lookup(datasource);
  this.conn = this.ds.getConnection();
  }
  catch (Exception e)
  {
  throw new DbManagerException(e);
  }
  }
  
  public void closeConnection() throws RemoteException, 
DbManagerException
  {
  try
  {
  this.conn.close();
  }
  catch (Exception e)
  {
  throw new DbManagerException(e);
  }
  }
  public ResultSet executeQuery(String strsql, String logonuser) throws
  RemoteException, DbManagerException
  {
  st = null;
  rs = null;
  try
  {
  //ResultSet.TYPE_SCROLL_INSENSITIVE,
  //ResultSet.CONCUR_READ_ONLY
  this.st = this.conn.createStatement();
  try{
  // logeo la consulta
  InitialContext context = new InitialContext();
  LogHome logHome = (LogHome)
  javax.rmi.PortableRemoteObject.narrow(context.lookup("Log"), 
  LogHome.class);
  Log log = logHome.create();
  log.writeDebug(strsql, logonuser);
  log.remove();
  }
  catch (Exception e)
  {
  throw new DbManagerException(e);
  }
  rs = this.st.executeQuery(strsql);
  // the closing of a statement also closes all
  // the resultsets asociated with the statement
  st.close();
  }
  catch (SQLException e)
  {
  throw new DbManagerException(e, this.conn);
  }
  return (rs);
  }
  public void ejbPassivate(){
  context = null;
  conn = null;
  ds = null;
  st = null;
  rs = null;
  }
  public void ejbActivate()
  {
  }
  public void ejbRemove()
  {
  }
  public void ejbCreate()
  {
  }
  public void setSessionContext(SessionContext context)
  {
  this.context = context;
  }
  }


Re: HttpSession creation

2001-11-22 Thread Lachezar Dobrev



 Hello.
 Trying to stop a session from being 
created is not valid.
 Sessions are not user-dependant. 
Sessions are a handshake between a server and a client. You should have thought 
another way to do that. Maybe check if the user HAS authenticated.

 .getSession() and 
.getSession(boolean) methods are to get access to the session, not to create the 
session. Creation is left to the App server.
 What happens is, that when a client 
contacts your Server the session IS created. That's it.
 Forget the option to disable that. 
It has no sense.
 If you REALLY need to do that... Use 
"session.invalidate()" everytime you see, that the user has not logged. That way 
a session will be recreated every time the client connects.


 Lachezar.

 P.S. Sessions are good to store info 
in them. But user management should NOT be connected with it.



  hi,
  
  i'm trying to ensure that the only time a session 
  is created is after a successful user login.
  
  is there any other way apart from 
  HttpServletRequest.getSession( ), or HttpServletRequest.getSession( boolean 
  create) that a HttpSession can be created?
  
  i've trawled through the J2EE API but haven't 
  seen any other methods that might create a session -- was just wondering if 
  there was some sort of side-effect way, say, if you redirect a request or pass 
  a request through a filter chain or something???
  
  thanks,
  greg.


A word of warning: SwiftMQ and Resource providers.

2001-11-20 Thread Lachezar Dobrev

   Recently looking at the Resource-Providers docs, and EAGER to use an
external JMS for my MDBs I and a colleague decided to run the demos.
   As quite a surprise the demo run ok. The MDB did everything when a
message was sent to the Queue.

   The BIG disappointment was, when we tried to do the same with the topic.
   In short: It does not work.
   It seems, that Orion is looking for the resource type. Although it should
check if the resource is of the NEEDED type, it rather checks if the
resource is of ANY type.
   SwiftMQ implements a Topic as a subclass of it's Queue implementation:

   the plainsocket@router1 class is as follows:

class com.swiftmq.jms.ConnectionFactoryImpl
  |- interface javax.jms.QueueConnectionFactory
  |- interface javax.jms.TopicConnectionFactory
  '- interface java.io.Serializable

   the testqueue@router1 class is as follows:

class com.swiftmq.jms.QueueImpl
  |- interface javax.jms.Queue
  |- interface java.io.Serializable
  '- interface com.swiftmq.jms.DestinationImpl

   the testtopic class is as follows:

class com.swiftmq.jms.TopicImpl
| '- interface javax.jms.Topic
|
'- (super) class com.swiftmq.jms.QueueImpl
  |- interface javax.jms.Queue
  |- interface java.io.Serializable
  '- interface com.swiftmq.jms.DestinationImpl


   As you can see a Topic is also a Queue.
   So when trying to deploy the MDB one gets:

Error deploying
file:/D:/Temp/Orion/applications/Orion2SwiftMQ/Orion2SwiftMQ.jar homes: JMS
Error: Queue 'testtopic' is not local! Can't create a Consumer on it!


   But... That doesn't help. I'm quite disappointed. I almost got it.

   Lachezar.





Re: Response has been already committed...

2001-11-17 Thread Lachezar Dobrev

   Hello.
   Number one. That happens, if you try to sendRedirect in the body of the
JSP. However the JSP is parsed to a Servlet, and it writes the JSP's body to
the output stream. The problem is, that when the sendRedirect is found later
in the body the output of the Servlet can become quite large, and the
servlet's output is flushed, because the buffer is overrun.

   Solution One (not tested): at the start of the JSP put: %@ page
buffer=65kb %
 That is temporary solution. If you try to redirect after this buffer is
full, you will get the exception again.

   Solution Two (my favorite): At the start of the JSP do whatever work is
needed. That way normally you will not have sent any data and there will
still be possibility to sendRedirect.

   Solution Three (my current): Use the JSP to display data only. All work
should be done in a Servlet, that does not write anything, but only does
work, and then sendRedirects to the JSP. This is quite flexible.

   Solution Four (ugly, but works): If your JSP ALWAYS redirects to the
other location (no ifs, no cases), and your JSP produces HTML, than you can
always put in the html a META tag to make the redirect.
HEAD
  META HTTP-EQUIV=REFRESH CONTENT=0; URL=/MySecondJspLocation.jsp
/HEAD

   You may think of more solutions, but it IS normal to receive that
exception. You can not expect Orion to buffer ALL the output of a jsp,
right?

   Lachezar.



 Hello all,

 I have a JSP, that processes a form and is attempting to create a record
in my database via CMP EJB (Person). After my form
 has been processed and the PersonHome.create() methods has succeeded
(record has been created), the page tries to
 redirect to another JSP. But this doesn't work; instead i receive an
exception:

 java.lang.IllegalStateException: Response has already been committed, be
sure not to write to the OutputStream or to trigger a
 commit due to any other action before calling this method.
  at com.evermind[Orion/1.5.2 (build
10460)].server.http.EvermindHttpServletResponse.sendRedirect(Unknown Source)
  at /department.jsp._jspService(/department.jsp.java:54) (JSP page line
19)
  at com.orionserver[Orion/1.5.2 (build
10460)].http.OrionHttpJspPage.service(Unknown Source)
  at com.evermind[Orion/1.5.2 (build 10460)]._ah._rad(Unknown Source)
  at com.evermind[Orion/1.5.2 (build
10460)].server.http.JSPServlet.service(Unknown Source)
  at com.evermind[Orion/1.5.2 (build 10460)]._cxb._abe(Unknown Source)
  at com.evermind[Orion/1.5.2 (build 10460)]._cxb._uec(Unknown Source)
  at com.evermind[Orion/1.5.2 (build 10460)]._io._twc(Unknown Source)
  at com.evermind[Orion/1.5.2 (build 10460)]._io._gc(Unknown Source)
  at com.evermind[Orion/1.5.2 (build 10460)]._if.run(Unknown Source)

 without PersonHome.create() or response.sendRedirect() everything works
fine (it works fine with either, but not with both).
 What is going on? What am I doing wrong?





Re: Trouble with session between JSP and Servlet

2001-11-13 Thread Lachezar Dobrev

   Hello.
   I had the same problem.
   It was because of the browser.

   JSP location: http://myserver.com/Init.jsp

   The JSP redirected to the Servlet after it does it's job. BUT!
   The redirection went to:
   http://www.myserver.com/servlet/MyServlet
   The browser (IE) did not recognize this to be the same server and
restarted the sessionID.
   So Orion thinks it is a different client.

   Test: try to access the JSP via: http://www.myserver.com/Init.jsp
   Then the redirect should work.
   Another problem is, that the Session cookie is bound to a start location:
   Cookie: JSessionID=1235r4123; path=/RootContextPath.
   Again the browser dows not recognize this cookie to be sent, when you try
to access /servlet/*
   That is why I was forced to use filters, so that
/RootContextPath/MyServletService/* was bound to MyServlet, and it worked.

   Try these things. They might help.
   Additional info is required for further investigation.

   May the shade of the tree strengthen you.

   Lachezar.


 I have a JSP and a Servlet in the same war file.  Both URLs have been
setup
 with security-constraints in the web.xml.  When hitting the JSP first I am
 prompted to authenticate, which is expected behaviour.  After
authentication
 I then goto the Servlet and I am then again redirected to the login form
and
 asked to authenticate.  Has anyone else had this problem?  Seems like
being
 in the same war file the first authentication of the session should work
for
 the entire war file.

 Thanks






MR: JSP Compilation Questions and More. Additional.

2001-10-16 Thread Lachezar Dobrev

 Hello all,
 try to use Oracle JSP, thera are a offline jsp-compiler.

   Hi.
   Thanks for your suggestion. However I do not need an otside compiler. In
any case I can use JspC in tomcat, but that is NOT what I wanted. I want to
do this the way Orion does it. So I need to do something like:

  public class MyJSPC{
public static void main(String[] args){
  com.orionserver.http.OrionHttpJspPage MY_COMPILED_PAGE =
 new com.evermind._rj(some_params).bb(MyJspPage_Source);
}
  }

   You see? I REALLY need the Orion JSP compiler to work. I can use other
compiler, but that is not what I wanted.

   Lachezar :(






Re: JavaMail problem

2001-10-16 Thread Lachezar Dobrev



 Hello Justin.

 As I see it, this is not JavaMail 
problem.
 The message "550 Relaying denied" is 
standard SMTP message sent from the SMTP server.
 Depending on the type of your SMTP 
server this is solved differently.
 Consult you SMTP administrator or, 
if it is you, check the documentation, to see how to permit in/out-going SMTP 
traffic. Normally it will be permitted/denied according to your IP 
address.

 That's it. "Happy hunting Sebastian" 
(*grin*: quote from "Cruel Intentions").

 Lachezar


  Hi 
  all,
  
  I'm having trouble 
  enabling relaying on my mailserver. I'm using Orion 1.5.2 with the J2EE 1.2.1 
  JavaMail, trying to relay toa 5.5 Exchange Server(NT).I've set the 
  application.xml to point to my Exchange server as such:
  
  mail-session location="mail/TheMailSession" 
  smtp-host="my.mailserver.ie"
   property 
  name="mail.transport.protocol" value="smtp"/
   property 
  name="mail.smtp.from" value="user@company.com"/
   property 
  name="mail.from" value="user@company.com"/
  /mail-session
  I have set Exchange 
  to disable relaying except for the IP address of the machine the appserver is 
  on. The problem is I'm still getting the 
  "javax.mail.SendFailedException: 550 
  Relaying is prohibited" error.
  Can anyone shed any light on this? Is there something in 
  Orion I need to do as well?
  Thanks for any 
  help.
  Justin 
  Crosbie


Re: JSP Compilation Questions and More.

2001-10-15 Thread Lachezar Dobrev

   Hello.

 is this a speed issue?
   NO!

 if so, use jikes. it's so fast that you don't need to precompile JSPs.
   I use it.

   I need to compile the JSPs without running Orion.

   Lachezar







JSP Compilation Questions and More.

2001-10-12 Thread Lachezar Dobrev

   Hallo all!

   Recently I've been playing around with JSP compilation in Orion. I saw a
couple of days ago a question about the out-of-the-server (stand-alone)
compilation of JSPs. Quite some job :(
   I tried to find the compilator. Playing around I got some things. I don't
really remember what was the JSP that helped me, but I guess it is either
com.evermind._rj (and it's method _bb() ) or com.evermind._ah. Also the
com.evermind.JspPage has a _bb() method, but it doesn't help a lot.

   Question 1: Is there a way to pre-compile the JSPs? I also saw that
adding a parameter jsp_precompile=true to the request parameters will only
try to compile the jsp. That however is not what I was thinking about.

   Question(BUG) 2: I noticed the following: It depends how the JSPs are
compiled. If the Web-App is development=true it is compiled in one way
with matching the JSP lines, and if development=false the lines are often
mapped wrongly. Exa.:

ALABALA.JSP:

1. html
2. head
3. titleTest for test/title
4. /head
5. body
6. form method=GET
7. input name=TEST_BEAN type=text size=20 value=Testbr
8. input type=submit%= new String((String)null)%
9. /form
10./body

Obviously there is a NullPointerException on line 8 (7 if counted from 0).

development = true:

500 Internal Server Error
java.lang.NullPointerException
 at java.lang.String.init(String.java:193)
 at /Alabala.jsp._jspService(/Alabala.jsp.java:24) (JSP page line 7)
 at com.orionserver[Orion/1.5.2 (build
10460)].http.OrionHttpJspPage.service(Unknown Source)
 at com.evermind[Orion/1.5.2 (build 10460)]._ah._rad(Unknown Source)
 ..


development = false:

500 Internal Server Error
java.lang.NullPointerException
 at java.lang.String.init(String.java:193)
 at /Alabala.jsp._jspService(/Alabala.jsp.java:27) (JSP page line 2)
 at com.orionserver[Orion/1.5.2 (build
10460)].http.OrionHttpJspPage.service(Unknown Source)
 at com.evermind[Orion/1.5.2 (build 10460)]._ah._rad(Unknown Source)
 ..


   Obviously both cases differ. Why?

   Lachezar.






Re: Error Accessing an EJB through a Bean

2001-10-11 Thread Lachezar Dobrev

   Hello.
   INLINE.

 We created a Bean to access an EJB from JSPs. First we tested the Bean
from
 a Java Client and everything worked fine. Then we copied the Bean to the
 Orion server and tried to acces the EJB by using a JSP that instanciates
the
 Bean that accesses the EJB. But we can not get it to work. The test with
the
 Java client still works properly. But using the Bean from JSP always
creates
 a ClassCastException.

 Here's the sniplet from the Bean where the lookup is performed.

 private static GUIServiceSBHome getHome(){
 GUIServiceSBHome toReturn = null;
 try
 {

   This part with the Hashtable is not correct.
   You should avoid it. Better create a jndi.properties file in the root
directory of your JAR, or the root rirectory of your classes.
   then just use new InitialContext() which will get the required
properties from the jndi.properties file.

   Hashtable env = new Hashtable();

   //ToDO if this bean runs inside a container this Env property will
not be
   //necessary
   env.put(Context.INITIAL_CONTEXT_FACTORY,
 com.evermind.server.rmi.RMIInitialContextFactory);
   env.put(Context.SECURITY_PRINCIPAL, admin);

   env.put(Context.SECURITY_CREDENTIALS, xyz);
   env.put(Context.PROVIDER_URL,
 ormi://164.139.33.191:23791/bizDataNew);



   Let's see.

   // Replace EJB ModuleName below with the EJB module name
identified
   // in your deployment profile

   As said... Especialy in a web-bean use new InitialContext()

   Context ctx = new InitialContext(env);
   Object ref = ctx.lookup(GUIServiceSB);
   logger.debug(Got an Object.. Class =  +
 ref.getClass());
   toReturn = (GUIServiceSBHome)PortableRemoteObject.narrow(ref,
 GUIServiceSBHome.class);
   logger.debug(Lookup5);
 }
 catch(Throwable ex){
   logger.error( Unable to perform lookup for GUIServiceBean Home
 interface\nException =  + ex.toString() );
 }
 return toReturn;
   }

 The logger.debug statements create the following output.

 From the Client:
 de.mgi.frontend.GUIServiceProxyBean: Got an Object..
 Class = class __Proxy0
 de.mgi.frontend.GUIServiceProxyBean: Lookup5

 On the Server (Bean used by JSP):
 de.mgi.frontend.GUIServiceProxyBean: Got an Object..
 Class = class GUIServiceSBHome_StatelessSessionHomeWrapper215
 de.mgi.frontend.GUIServiceProxyBean: Unable to perform lookup for
 GUIServiceBean Home interface Exception = java.lang.ClassCastException:
 GUIServiceSBHome_StatelessSessionHomeWrapper215 was not an instance of
 interface de.mgi.orca.business_data.ejb.session.gui.GUIServiceSBHome, the
 interface it implements is
 de.mgi.orca.business_data.ejb.session.gui.GUIServiceSBHome

 Next to the relevant question why does the Bean get an exception when it
is
 executed on the server, there are also two more questions that I have when
I
 look at the ouput.

 1. Why is the return value of ref.getClass() different? The client and the
 JSP are accessing the same EJB on the same Orion server.
 2. Why does it says the retrieved object is not an instance of the
interface
 ...GUIServiceSBHome but an instance of ...GUIServiceSBHome? For me the two
 interface classe names look the same.

   Ok. I had the same problem. It was, that I had one and the same class
(the Home Interface) in two places. Both classes, though identical these
classes were not compatible :(.

   It is possible (like in my case) that you have the home interface both in
the ejb-jar and the web-app. Try removing it from the web-app.


 And hint why the bean is not working on the server is greatly appreciated.

 Peter Cugier


   Lachezar.






Q: Which jdbc JNDI location should I use for my CMP EJBs?

2001-10-02 Thread Lachezar Dobrev

   Hello.
   I've been poundering on this question for quite some time, and even if I
look stupid I have to ask it now.
   Sorry, if this seems dumb.

 data-sources.xml

  data-source
class=com.evermind.sql.DriverManagerDataSource
name=Hypersonic
location=jdbc/HypersonicCoreDS
xa-location=jdbc/xa/HypersonicXADS
pooled-location=jdbc/pooled/HypersonicPooledDS
ejb-location=jdbc/HypersonicDS
connection-driver=org.hsql.jdbcDriver
username=sa
password=
url=jdbc:HypersonicSQL:./database/defaultdb
inactivity-timeout=30
   /

 end data-sources.xml

   So. I have a CMP entity bean. I want to map it to this data-source.
However, in orion-ejb-jar.xml I have to specify a
data-source=jdbc/AnyLocation. But there are four different locations, that
have been defined for a single data-source.
   And the question is: Which one should I set in my descriptor:

1. location=jdbc/HypersonicCoreDS
2. xa-location=jdbc/xa/HypersonicXADS
3. pooled-location=jdbc/pooled/HypersonicPooledDS
4. ejb-location=jdbc/HypersonicDS

   My first guess, is that I should use ejb-location. Right? Then WHY?

   Please. It may be dumb, but I wouldn't want to miss something serious
here.
   BTW. An explanation on each location, and it's use would be GREAT!

   May the shade of the tree strengthen you.
   Lachezar Dobrev.






Oracle questions (Slightly OT)

2001-09-13 Thread Lachezar Dobrev

   Hello group.
   I have urgent need of advise.
   I use an Oracle DB. And I have problems.

   1. When using a ThinDriver I can not save large strings, and it is a must
for me.
   2. When using Oracle-Odbc-Jdbc-Ejb I can save the large strings, but...
Orion gets a lot of SQL exceptions, because of 'invalid character'. My
research shows, that while Oracle uses a DOT to express float numbers
(123.456) the jdbc-odbc bridge happens to use the COMMA for the delimiter,
because of my LOCAL settings. Then it just blows up steam.

   So. My question is like is there any non-ODBC-using driver for Oracle,
that can handle large strings?

   I'm in an urgent need for help, because the LOCAL settings change is not
an option.

   Please any advice. PLEASE!

   Lachezar






Re: Apache as front-end (orionsupport.com)

2001-09-03 Thread Lachezar Dobrev
Title: RE: Apache as front-end (orionsupport.com)



 That is correct.
 That is why the Apache has to 
REWRITE the links.
 That is the main concern, the 
Redirect has to be rewriten. If you use relative links you will not have any 
other problems.

  Well 
  , We work with the frontend tag and with apache in front of the OC4J and it 
  work fine.
  Still there is a problem when using the 
  HTTPUtils.getRequestUri() which does not come back with theapache 
  name, but with the oc4J machine name. 
 Lachezar


Re: Not in an application scope

2001-09-03 Thread Lachezar Dobrev





Re: Help needed

2001-09-01 Thread Lachezar Dobrev

   Hi.

 I'm trying to get Orion Server to start as a non-root users on Red Hat
 7.1.  I know I need to forward the port from 80 to something above
 1024.  Does any one know how I can do that with iptables.  I've never
 used it before.

  ipchains -I input --protocol tcp \
  --destination-port 80 -j REDIRECT 10240

  If the Orion port is 10240.
  You need to configure your kernel to support redirecting.
  Consult Kernel docs.

 Any help would be appreceated.
 
 
 Bill Wichgers

   Lachezar






Re: Re[2]: Help needed

2001-09-01 Thread Lachezar Dobrev

   Hello.

  I'm trying to get Orion Server to start as a non-root users on Red Hat
  7.1.  I know I need to forward the port from 80 to something above
  1024.  Does any one know how I can do that with iptables.  I've never
  used it before.
 
 LD   ipchains -I input --protocol tcp \
 LD   --destination-port 80 -j REDIRECT 10240
 
 LD   If the Orion port is 10240.
 LD   You need to configure your kernel to support redirecting.
 LD   Consult Kernel docs.
 I have the same problem with Mandrake 8.0
 It seems that all newest Linux releases use iptables instead of
 ipchains and the syntax is a little different.
 Any suggestion ?

   1. You may decide to use IPChains instead of IPTables.
  This is a Kernel-Conf problem.

   2. I don't use IPTables, but... I searched some info on the net,
  and it seems, that it is not too different for IPTables than
  the ipchains one. Maybe you will have to write -I INPUT?!?!?

 TIA
 Marcello

   Lachezar






Re: Concurrency

2001-08-06 Thread Lachezar Dobrev

   More info:

   Took me some time to see, that you are using 1.4.5 as I think (maybe even
more recent, but definitely not the latest 1.5.2).

   com.evermind.server.rmi.RmiServer has:

   java.util.List eb;

snatch

public final void gb(ba ba1)
{
synchronized(eb)
{
eb.remove(ba1);
}
}

/snatch

snatch
public RMIServer(ApplicationServer applicationserver)
{
  . blah blah blah .
eb = new ArrayList();
  . blah blah blah .
}
/snatch

   This is it... I don't however know what is the eb used for.
   It looks ok (there is syncronized working with the list), however
something does not work right.
   My guess: Move to 1.5.2 maybe?

   Lachezar.


 Hi ted,
 You are right, but the exeption is in an AbstractList and I'm not using
any
 extension of AbstractList. In addition, the exeption is in com.evermind
 pakage.
 I have analyzed this package and I've seen that the method
 com.evermind.server.rmi.RMIServer.gb uses a java.util.List. Therefore I
 suppose that it is an orion problem when the SLSB is created.
 Thanks, Esteban



 -Original Message-
 From: Rice, Ted [mailto:[EMAIL PROTECTED]]
 Sent: Friday, July 27, 2001 1:45 PM
 To: Orion-Interest
 Subject: RE: Concurrency


 you are working with a non-synchronized
 collection. if you get an iterator and
 attempt to modify the backing list with
 multiple threads you will receive a
 ConcurrentModificationException. synchronize
 on the the iterator or list.

 ./ted

 -Original Message-
 From: Lopez Esteban [mailto:[EMAIL PROTECTED]]
 Sent: Friday, July 27, 2001 3:44 AM
 To: Orion-Interest
 Subject: Concurrency


  Hi
  Please help me. I am working with a stateless EJB and I have about 250
  clients which has to use this EJB.
  When the clients access to the SLEJB concurretly, the Orion crash, and
the
  server.log shows:
 
  7/4/01 6:45 PM Internal server error
  java.util.ConcurrentModificationException
  at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
  at java.util.AbstractList$Itr.next(Unknown Source)
  at java.util.AbstractCollection.remove(Unknown Source)
  at com.evermind.server.rmi.RMIServer.gb(JAX)
  at com.evermind.server.rmi.ba.run(JAX)
  at com.evermind.util.f.run(JAX)
 
  Anyone knows something about this.
  Thanks!
 
  Esteban.
 










Re: Concurrency

2001-08-06 Thread Lachezar Dobrev

   Hi.

   Reposting this message. the next has already been received.
   This list lacks stability a lot.

   Not sure, if this has something to do with your problem.
   1: java.util.List is an Interface. You can't have the Interface live,
except in a class/object, implementing this interface. For an instance the
class java.util.AbstractList is the first one, that implements this
interface. so having a parameter/return value of type java.util.List means
actualy an instance of a class implementing java.util.List.
   2. Orion subclasses AbstractList in many places to implement it's lists.
Quite handy. One place is the list OR-mapping,
com.evermind.server.ejb.ORList. Are you sure, you don't use container
managed Lists?

   BTW. I'm not exactly sure how do you access Concurently a StateLess
Session Bean? I tried and got no result... Hmmm...


   Be well: Lachezar

 Hi ted,
 You are right, but the exeption is in an AbstractList and I'm not using
any
 extension of AbstractList. In addition, the exeption is in com.evermind
 pakage.
 I have analyzed this package and I've seen that the method
 com.evermind.server.rmi.RMIServer.gb uses a java.util.List. Therefore I
 suppose that it is an orion problem when the SLSB is created.
 Thanks, Esteban



 -Original Message-
 From: Rice, Ted [mailto:[EMAIL PROTECTED]]
 Sent: Friday, July 27, 2001 1:45 PM
 To: Orion-Interest
 Subject: RE: Concurrency


 you are working with a non-synchronized
 collection. if you get an iterator and
 attempt to modify the backing list with
 multiple threads you will receive a
 ConcurrentModificationException. synchronize
 on the the iterator or list.

 ./ted

 -Original Message-
 From: Lopez Esteban [mailto:[EMAIL PROTECTED]]
 Sent: Friday, July 27, 2001 3:44 AM
 To: Orion-Interest
 Subject: Concurrency


  Hi
  Please help me. I am working with a stateless EJB and I have about 250
  clients which has to use this EJB.
  When the clients access to the SLEJB concurretly, the Orion crash, and
the
  server.log shows:
 
  7/4/01 6:45 PM Internal server error
  java.util.ConcurrentModificationException
  at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
  at java.util.AbstractList$Itr.next(Unknown Source)
  at java.util.AbstractCollection.remove(Unknown Source)
  at com.evermind.server.rmi.RMIServer.gb(JAX)
  at com.evermind.server.rmi.ba.run(JAX)
  at com.evermind.util.f.run(JAX)
 
  Anyone knows something about this.
  Thanks!
 
  Esteban.
 










Re: Very Strange problem with a static varible on a jsp

2001-07-27 Thread Lachezar Dobrev

 I see what you mean.
   Good.

 So it seems that the only solution to be sure a class is not unloaded is
to make
 your own class loader for that class. Unfortunately, this solution can not
be
 applied to a servlet.
   Or make a singleton to keep the class loaded. I do this, and it works.
Even with SLSBs.

   Lachezar

   Hello,
   Your objection makes sense, but here is sometrinh from the JVM
  specification
   from SUN:
  
   2.17.8Unloading of Classes and Interfaces A class or interface
may be
   unloaded if and only if its class loader is unreachable.
   The bootstrap class loader is always reachable; as a result, system
  classes may
   never
   be unloaded.
   Thought, the term unreachable seems confusing.
 
 I have read that, but then:
 
 java -X
 
  -Xmixed   mixed mode execution (default)
  -Xint interpreted mode execution only
  -Xbootclasspath:directories and zip/jar files separated by ;
set search path for bootstrap classes and
resources
  -Xbootclasspath/a:directories and zip/jar files separated by ;
append to end of bootstrap class path
  -Xbootclasspath/p:directories and zip/jar files separated by ;
prepend in front of bootstrap class path
 
   HERE!
  -Xnoclassgc   disable class garbage collection
  -Xincgc   enable incremental garbage collection
  -Xbatch   disable background compilation
  -Xmssizeset initial Java heap size
  -Xmxsizeset maximum Java heap size
  -Xsssizeset java thread stack size
  -Xprofoutput cpu profiling data
  -Xrunhprof[:help]|[:option=value, ...]
perform JVMPI heap, cpu, or monitor profiling
  -Xdebug   enable remote debugging
  -Xfuture  enable strictest checks, anticipating future
default
  -Xrs  reduce use of OS signals by Java/VM (see
  documentation)
 
  The -X options are non-standard and subject to change without notice.
 
 Also... I'm not sure, but I think there may be different class
loaders
  for servlets/ejbs. I'm not sure, if Orion does that. IAS/BAS does so.
 
 Lachezar
 
  other things skipped. 










Re: Very Strange problem with a static varible on a jsp

2001-07-26 Thread Lachezar Dobrev

 Hello,
 Your objection makes sense, but here is sometrinh from the JVM
specification
 from SUN:

 2.17.8Unloading of Classes and Interfaces A class or interface may be
 unloaded if and only if its class loader is unreachable.
 The bootstrap class loader is always reachable; as a result, system
classes may
 never
 be unloaded.
 Thought, the term unreachable seems confusing.

   I have read that, but then:

   java -X

-Xmixed   mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:directories and zip/jar files separated by ;
  set search path for bootstrap classes and resources
-Xbootclasspath/a:directories and zip/jar files separated by ;
  append to end of bootstrap class path
-Xbootclasspath/p:directories and zip/jar files separated by ;
  prepend in front of bootstrap class path

 HERE!
-Xnoclassgc   disable class garbage collection
-Xincgc   enable incremental garbage collection
-Xbatch   disable background compilation
-Xmssizeset initial Java heap size
-Xmxsizeset maximum Java heap size
-Xsssizeset java thread stack size
-Xprofoutput cpu profiling data
-Xrunhprof[:help]|[:option=value, ...]
  perform JVMPI heap, cpu, or monitor profiling
-Xdebug   enable remote debugging
-Xfuture  enable strictest checks, anticipating future default
-Xrs  reduce use of OS signals by Java/VM (see
documentation)

The -X options are non-standard and subject to change without notice.


   Also... I'm not sure, but I think there may be different class loaders
for servlets/ejbs. I'm not sure, if Orion does that. IAS/BAS does so.

   Lachezar

other things skipped. 






Re: Very Strange problem with a static varible on a jsp

2001-07-25 Thread Lachezar Dobrev

   Hi.
   This MAY be totally wrong, but I have seen that in a different place in a
different problem, in a different need. I got the same thing.

   Problem: Static varialbles are being reset from time to time.

   My Answer: The lifetime of the Servlets/EJBs/JSPs is defined by how the
webcontainer/ejbcontainer handles requests and persistance. My GUESS is that
this problem is as follows:

   1. We load a class (Say MYClass)
   2. We use MYClass
   3. We free of use all objects of type MYClass.
 --- Some time passes.
 --- The Garbage Collector sees this class is not used anymore and...
FREES IT!
   4. We try to use MYClass. It doesn't exist, so it is loaded.
 --- On loading the static fields are reset.

   Now... Having in mind, that the Servlets/JSPs can be randomly freed by
the container (Orion) this situation is quite real. Especialy if we use that
Servlet/JSP not-so-often.

   My Resolution: Use a Singleton Class to keep all the needed Static
information:


/** @todo Modify this class to suit your needs */

   public class StaticHolder{
 private int Data = 0;

 private static StaticHolder theCopy = new StaticHolder();

 private StaticHolder(){}

 public  static StaticHolder getCopy() { return theCopy; }

 public void incData() { Data++; }
 public int  getData() { return Data; }

   }

/** @usage */
   StaticHolder.getCopy().incData();
   int count = Staticholder.getCopy().getData();

   Singleton classes are not disposed by the garbage collector (there is
always one reference to the object from the object itself).

   Another way is to define an instance of your servlet, that will hold a
copy of itself :).

   public class MyServlet ...{

 private static MyServlet CopyHolder = new MyServlet();

   }

   This will keep your class always loaded.


   Hope this helps.
   Lachezar

 Sorry, But I do not understand what you mean.
 What I want is to have only a counter for all the requests.


 At 13:35 24/07/2001 -0500, you wrote:
 Instead of static I would use a member attribute, since for servlets
 only one instance exists for a given class.
 
 Ismael wrote:
 
I am making some loading tests, in order to test the loading tool I
   have written some special jsp to deal verify the number of times a jsp
   has been called.
   My jsp is :
  
   %@page contentType=text/html%
   html
   headtitleJSP Page/title/head
   body
   %!
   static int client=0;
   static String attribute_name=client;
   static Object lock=new Object();
   %
   %-- This JSP will be used with 4 other jsp to test the correctness of
   the stress tool
   --%
   %
   synchronized (application) {
   session.setAttribute(attribute_name,new Integer(++client));
   System.out.println(Entering client +client);
  
  
   }
   %
   /body
   /html:
  
  
   It is very simple but the ouput I get is
   Entering client  1
   Entering client  2
   Entering client  3
   Entering client  4
   Entering client  1
   Entering client  1
   Entering client  1
   Entering client  1
   Entering client  1
   Entering client  5
   Entering client  2
   Entering client  3
   Entering client  4
   Entering client  5
   Entering client  6
   Entering client  7
   Entering client  8
   Entering client  9
   Entering client  10
   Entering client  11
   Entering client  12
   Entering client  13
   Entering client  14
   Entering client  15
   Entering client  16
   ..
   That is, my static variable it is being ignored. I am using Orion
   1.4.5 , Windows 2000 and J2SE 1.3.0_02.
  
   Anybody know why this could be happening ?
  
   Regards,
   Ismael
  
  








Advanced OR_Mapping 1-to-N-to-N possible?

2001-07-04 Thread Lachezar Dobrev

  I have this situation:

   class Enterprise1Bean implements EntityBean {
 public java.util.Vector elements;
 public static final Class elements_type = Normal_Java_Bean1.class;

 public void setElements(java.util.Vector newElements){
   elements = newElements;
 }
 public java.util.Vector getElements(){
   return elements;
 }

 /*
  * Other EJB methods *
  */
   }

   class Normal_Java_Bean1 {
 public java.util.Vector elements;
 public static final Class elements_type = Normal_Java_Bean2.class;

 public void setElements(java.util.Vector newElements){
   elements = newElements;
 }
 public java.util.Vector getElements(){
   return elements;
 }
   }

   class Normal_Java_Bean2 {
 public String text;

 public void setText(String newText){
   text = newText;
 }
 public String getText(){
   return text;
 }
   }


   Now I want to map everything in an 1-to-N-to-N or-mapping.
   That means... What you see... An EJB has a Vector of elements, which have
other Vectors of other Elements.

   Trying to deploy that I receive a NullPointerException ( I think it's
while creating the table for the Normal_Java_Bean2, beacause
Normal_Java_Bean1 has no primary key to map into).

   Tried Map-Mapping, because there is a primary key, to no avail however:

   map-mapping can only be used on the types java.util.Map,
java.util.Hashtable, java.util.Properties (not Normal_Java_Bean1)


   HELP!

   Lachezar






Re: HELP on MessageDrivenBeans

2001-06-28 Thread Lachezar Dobrev



 Hi. I did look at the 
ATM example. That's the thing : in ATM the message driven bean does not 
declare ANY topic or connection factory. Only the publishing session 
bean declares them. Now, how do they make the connection between the MDB 
and the topic/topicConnectionFactory declared by the publisher ? Is this 
the ONLY way of doing it (I have just an MDB in one single jar file, the 
publisher is not an EJB) ? Does anybody has a simple and working example 
of MDB under Orion ?! Yes. I have a working example, 
that works with an external topic-publisher
(stand-alone java app) and an external 
queue-sender (also a stand alone app).
Works :) IN 
EJB-JAR.XMLejb-jarenterprise-beans 
message-driven 
ejb-nameHelloBean/ejb-name 
ejb-classHelloMSGBean.HelloBean/ejb-class 
transaction-typeContainer/transaction-type 
message-driven-destination 
jms-destination-typejavax.jms.Topic/jms-destination-type 
/message-driven-destination 
/message-driven/enterprise-beans/ejb-jar 
All I want is to be told what needs to be in orion specific descriptors 
... if anything needs to be there.  IN 
ORION-EJB-JAR.XMLorion-ejb-jar 
enterprise-beans message-driven-deployment 
name="HelloBean" 
connection-factory-location="jms/TopicConnectionFactory" 
destination-location="jms/theTopic" / 
/enterprise-beans/orion-ejb-jar I think I forgot 
to mention that I'm using Orion 1.4.5 And I already found out another 
JMS problem in this version : an auto-started client (droped the MDB 
:(((, too much effort to deploy it) enters in an infinite loop when 
receiving messages from a topic - acknowledgemnt doesn't work ?! I tried 
to update to 1.4.7 and it does not work AT ALL (no more 
messages).
 GOT MUCH WORK TO DO!!!
 1.4.5 Bug: When deploying the MDBs 
it removes the destination definition
from the deployment descriptor orion-ejb-jar.xml. 
Thus your beans will listen
to one and the same topic (the default 
topic).

 Walk-around-1: After deploying 
the beans shutdown orion and edit manually
orion-ejb-jar.xml in the deployment directory 
(application-deployments/blah).

 Walk-around-2: Have only one 
topic and only one queue. shrug

 I think this problemis 
alsoin 1.4.7, 1.4.8, but I don't have them at
hand and I'm not so sure.
 The problem is solved in 1.5.2 for 
sure.

 Thanks !  Eugen  REST OF MESSAGE 
CUT OFF 

 Lachezar.


Re: RMI Clustering done. Now want more.

2001-06-18 Thread Lachezar Dobrev

 hi lachezar,
   Hya.
   Looking at the text I think you misunderstood me.
   I was not looking for a fail-over or Web clustering solution. That's it.
   I need to use Orion as a EJB server, not the fulll J2EE App server.
   I have some QUITE heavy beans, and just very small web-interface for more
or less a couple of users. I don't have a
super-duper-overloaded-with-connections site. Instead I have time-consuming
stateless session beans, that take up to a 100% CPU time, and work for some
couple of hours.
   So what I need is NOT a WEB-Failover solution, but rather a RMI
(EJB-to-EJB) clustering in order to put my heavy-handed EJBs allover my
intranet.

   Hope I clarified this.

   BTW. I forgot to mention something:
   LINUX ISSUE! (tested on RH7/JDK1.3.1)
Define a default route in the routing table.
Otherwise setting the multicast cluster fails with an exception.
This might be as well mentioned on OrionSupport or OrionServer.
THIS IS A JVM ISSUE. NOT ORION SPECIFIC!

   Lachezar Dobrev
   Software developer
   LSN Software and Telecommunication services
   Sofia, Bulgaria

 i've got clustering working for our app but haven't used the rmi.xml
 clustering settings. the app seems to failover ok to another machine in
the
 cluster if i switch a machine off, etc,.

 we use only stateless session beans and so i wondered if only entity bean
 information was exchanged over the port specified in rmi.xml

 what's all this stuff for in rmi.xml

 cluster host=230.0.0.1 id=123 password=123abc port=9127
 username=cluster-user /
 Tag that is defined if the application is to be clustered. Used to set up
a
 local multicast cluster. A username and password used for the servers to
 intercommunicate also needs to be specified.

 host - The multicast host/ip to transmit and receive cluster data on. The
 default is 230.0.0.1.
 id - The id (number) of this cluster node to identify itself with in the
 cluster. The default is based on local machine IP.
 password - The password configured for cluster access. Needs to match that
 of the other nodes in the cluster.
 port - The port to transmit and receive cluster data on. The default is
 9127.
 username - The username configured for cluster access. Needs to match that
 of the other nodes in the cluster.

 thanks,
 greg.


 - Original Message -
 From: Lachezar Dobrev
 To: Orion-Interest
 Sent: Friday, June 15, 2001 6:18 PM
 Subject: RMI Clustering done. Now want more.


Hello.
OK. I was able to (at last) run the RMI clustering. It now works.
But...
 I have a question...
Now I can put up a cluster, and when a bean does not exist on the
server
 it is searched on the cluster and used. However if it is deployed on more
 than one machine... It is not found on all of them, but rather on only
one.

For simplicity let's assume we have OrionA, OrionB, OrionC and OrionD.
a) on all machines we have EnterpriseBean1 deployed. It accesses
 EnterpriseBean2
b) machine OrionA does not have EnterpriseBean2 deployed.
c) machines OrionB, OrionC and OrionD have EnterpriseBean2 deployed.
d) all machines have a RMI cluster set-up and working.
   (BTW) Because I needed quite some time to understand why the
   cluster was not working I am eager to help anyone, that needs
   help on the subject.

If machine OrionA runs EnterpriseBean1 it will have to look-up
 EnterpriseBean2, which is used by EnterpriseBean1.
There is no problem to find that bean (it exists on the cluster).
 However... Once EnterpriseBean2 is used on OrionC it keeps using that one.
 Why? Also. If we deploy EnterpriseBean2 on OrionA it is always found there
 and not on ANY other cluster machine.

1. How does Orion know on which machine to use the bean? The last one,
 that wakes up?
2. Is there a way to implement (at least) a round-robin technique to
 access the clustered bean on more than one server? I mean... When I
look-up
 EnterpriseBean2... I would like to have a different server answering every
 time. Round-robin is sufficient, even though a loadbalancing technique
would
 be better appropriate.

Ok. Waiting forward to hearing from you all...

P.S. Another question... CAN I TURN WEB-SERVICES OFF??? I tried
removing
 the default-web-app tag in the server.xml, but it starts complaining about
 no default web-app :((( I want to have some Orion servers to act as EJB
only
 servers.

Lachezar








RMI Clustering HOW-TO.

2001-06-17 Thread Lachezar Dobrev



 OKAY. Here it goes.

 Prerequisites.
 (tested on 1.5.2 problems on 
1.4.5)

 A. Setting up the 
cluster.
 A.1. RMI.XML:
 A.1.1 
EXPLICITLYbind to the machine's IP
 rmi-server 
host="machine_ip_or_adress"
 A.1.2SAME cluster 
configuration on all machines
  cluster 
username="clusteruser" password="clusterpass"/
If you want 
you can use a nonstandard MCast IP and Port,
 but it HAS TO BE 
the same for all machines

A.2. Application 
set-up.
 One and the same 
Application name for the clustered app.
 Like this in 
server.xml (on all machines):
 
application name="Cluster" path="../applications/Cluster" 
/
 Deployment source 
doesn't count. The NAME HAS TO BE THE SAME.

 B. Tips for correct 
working.
 B.1. This is NOT 
full cluster:
 
B.1.1An EJB is searched on othe machines if it is not 
present
 on the 
current one. If Machine A has bean BeanA any other bean,
 trying to 
access BeanA will be used from this machine only.

 B.1.2 Once 
you get a reference to a bean you will not get a
reference to the same bean on another 
machine. If Machine A
 does not 
have BeanA and wants to use it, it will look it up
 on the 
cluster and use the LAST ONE, that has been found (i.e
 if MachineC 
has been the last to boot-up and has BeanA, then
 machine A 
will use the bean from Machine C.

 
B.1.P.S.I hope this will be fixed soon.

 B.2. Deploy your entity beans 
in one place only. Do so with
 your stateful session beans 
also.

C. Additional 
info.
 C.1 JMS. One can 
use the JMS server on one machine. This way
 anyone 
lookingfor a QUEUE or TOPIC will find it on that one.
 EX. in 
jms.xml:
 
queue-connection-factory host="192.168.2.111" 
port="9129"
  
username="admin" password="123"
 
location="jms/QueueConnectionFactory" /
 topic-connection-factory host="192.168.2.111" 
port="9129"
 username="admin" password="123"
 location="jms/TopicConnectionFactory" 
/
 TRADE OFF: 
When the JMS server machine shuts down and boots up.
 Every 
other machine has to be 
restarted in order to reregister
 the QUEUE 
and TOPIC 
clients.

 PLUSES: 
MDBs are synchronized. Keep in mind the JMS technology
a 
TOPIC message is received on all machines. A QUEUE message 
is
 received by 
only one. However that means, that in most cases (but
 not always) 
the QUEUE message will be received by one and the
 same 
client.

P.S. There is 
still quite some job to be done on the clustering,
 but for now this is 
more than nothing. Personally I'll have to
 create my own execution 
scheduler, that will be responsible for
 round-robin execution 
of my clustered SLSBs.

 Well... Not much, but 
at least works :(

 
Lachezar


Re: how do I unsubscribe?

2001-06-15 Thread Lachezar Dobrev



Unsubscribe requests should be sent 
to:
[EMAIL PROTECTED]


RMI Clustering done. Now want more.

2001-06-15 Thread Lachezar Dobrev



 Hello.
 OK. I was able to (at last) run the 
RMI clustering. It now works. But... I have a question...
Now I can put up a cluster, and 
when a bean does not exist on the server it is searched onthe cluster and 
used. However if it is deployed on more than one machine... It is not found on 
all of them, but rather on only one.

 For simplicity let's assume we have 
OrionA, OrionB, OrionC and OrionD.
 a) on all machines we have 
EnterpriseBean1 deployed. It accesses EnterpriseBean2
 b) machine OrionA does not have 
EnterpriseBean2 deployed.
 c) machines OrionB, OrionC and 
OrionD have EnterpriseBean2 deployed.
 d) all machines have a RMI cluster 
set-up and working.
 (BTW) Because I 
needed quite some time to understand why the
cluster was 
not working I am eager to help anyone, that needs
 help on the 
subject.

 If machine OrionA runs 
EnterpriseBean1 it will have to look-up EnterpriseBean2, which is used by 
EnterpriseBean1.
 There is no problem to find that 
bean (it exists on the cluster). However... Once EnterpriseBean2 is used on 
OrionC it keeps using that one. Why? Also. If we deploy EnterpriseBean2 on 
OrionA it is always found there and not on ANY other cluster 
machine.

1. How does Orion know on which 
machine to use the bean? The last one, that wakes up?
 2. Is there a way to implement (at 
least) a round-robin technique to access the clustered bean on more than one 
server? I mean... When I look-up EnterpriseBean2... I would like to have a 
different server answering every time. Round-robin is sufficient, even though a 
loadbalancing technique would be better appropriate.

 Ok. Waiting forward to hearing from 
you all...

 P.S. Another question... CAN I TURN 
WEB-SERVICES OFF??? I tried removing the default-web-app tag in the server.xml, 
but it starts complaining about no default web-app :((( I want to have some 
Orion servers to act as EJB only servers.

 Lachezar


Re: Force Logon after X minutes

2001-06-14 Thread Lachezar Dobrev

   One can use in a servlet, or a JSP:
excerpt
   if ( session.getAttribute(logged_out) != null ){
 response.sendError(response.SC_UNAUTHORIZED, Logout...);
 return;
   }
end excerpt

   Whenever you want your user logged out: set a session attribute called
logged_out.

   On the main page do not check this attribute, but clear it.

   The user will be asked for the username and password again when the
browser receives Error 401 (SC_UNAUTHORIZED).
   Tradeoff: you have to check that everywhere in every JSP or servlet.

   Lachezar

 The problem is that with BASIC authentication the *browser* remembers the
 logon information and resends it whenever needed. Hence things like
 invalidating the session will not work, since the browser will simply log
 the user in again without their intervention.

 So far as I know, there is no solution to this problem. If you use BASIC
 authentication, the user has to shut down the browser to log off.

 If someone knows differently, I too would certainly love to hear the
answer.

 Nick



 At 03:18 PM 6/13/01 -0400, you wrote:
 is it too obvious to say:
 
 send out the pages w/ an expire time
 set the http session expiration to a desired interval to prevent use
after x
 minutes...create a logoff function that invalidates their session...
 
 is that too simplistic?
 
 regards,
 Mike Conway
 
 cybermaster wrote:
 
   %
   if (session != null) {
   session.invalidate();
   }
  
   %
  
   --peter
  
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED]]On Behalf Of Smith Jason
   Sent: Wednesday, June 13, 2001 6:38 AM
   To: Orion-Interest
   Subject: Force Logon after X minutes
  
   I am custom user-authentication.
  
   The user and groups are in a database and I am using BASIC
authentication.
  
   How can I allow users to logoff w/o them closing their browser?
  
   How can I force them to logon again after x minutes?
  
   Thxs,
  
   Jason










RE: Security bug with application clients? (More Info)

2001-06-13 Thread Lachezar Dobrev



 Hello.
 Here I want to provide more 
information on the problem.
 Just for clarification.

 The problem is NOT the security 
itself. It works just fine.
 The problem lies IMHO in caching or 
something.
 It is also seen only in the RMI 
connection.

 EXAMPLE: Consider following 
situation:
 We have machine OrionA and 
OrionB, both running Orion.
 Both have a deployed 
TestEjb.
 TestEjb is:
 TestEjbHome - 
Home interface
TestEjbBean 
- Bean class
TestEjb - 
Remote interface.
 
TestEjb.doTheJob() - returns a String containing
the 
name of the machine the
bean 
was executed on
(OrionA 
or OrionB)

 We have a standalone 
client:

 public class ResourceTest 
{
 public static void 
main(String[] args){
 
Context CTX;
 
Hashtable CtxParams;
 
TestEjbHome TheHome;
 
TestEjbTheBean;

 // Connect to OrionA and 
execute the TestEjb bean.
 
CtxParams = new HashTable();
 
CtxParams.put (Context.INITIAL_CONTEXT_FACTORY,
"com.evermind.server.rmi.RMIInitialContextFactory");

 
CtxParams.put (Context.SECURITY_PRINCIPAL, "admin");
 
CtxParams.put (Context.SECURITY_CREDENTIALS, "123);


 // Provider is 
the OrionA machine CtxParams.put 
(Context.PROVIDER_URL, "ormi://OrionA/TestAPP");

 CTX = new InitialContext 
(CtxParams);

 TheHome = 
PortableRemoteObject.narrow(
 
CTX.lookup("TestEjb"), TestEjbHome.class);

 TheBean = 
TheHome.create();
 System.out.println( "First 
execution on: " + TheBean.doTheJob() );


 // Conect to OrionB and execute the TestEjb bean.
 
CtxParams = new HashTable();
 
CtxParams.put (Context.INITIAL_CONTEXT_FACTORY,
"com.evermind.server.rmi.RMIInitialContextFactory");

 
CtxParams.put (Context.SECURITY_PRINCIPAL, "admin");
 
CtxParams.put (Context.SECURITY_CREDENTIALS, "123);

 // Provider is 
the OrionB machine
 
CtxParams.put (Context.PROVIDER_URL, "ormi://OrionB/TestAPP");

 CTX = new InitialContext 
(CtxParams);

 TheHome = 
PortableRemoteObject.narrow(
 
CTX.lookup("TestEjb"), TestEjbHome.class);

 TheBean = 
TheHome.create();
 System.out.println( "Second 
execution on: " + TheBean.doTheJob() );
 }
 }

Running the above with the 
propper libraries should yeld:

 First execution on: 
OrionA
 Second execution on: 
OrionB

HOWEVER! The real sitch 
returns:

 First execution on: 
OrionA
 Second execution on: 
OrionA

Another test:
 Modify the code, so that the 
bean returns the user name;
 Modify the client, so that it 
connects to one and the same provider, but with different 
user_names.

 Code should yeld:

 First execution on: 
user1
 Second execution on: 
user2

 However it returns:

 First execution on: 
user1
 Second execution on: 
user1

 In other words. Connecting once 
means, that till the end you are connected to the same provider with the same 
user/pass.
 That's it.

 
Lachezar.


Deployment descriptors autocopy?

2001-06-13 Thread Lachezar Dobrev



 I guess... I'll ask just for the 
sake of it.
 I have a complete J2EE Application. 
EJBs, WebClient and an ApplicationClient...
 However. I have 
orion-application.xml.
 I also have predefined 
data-sources.xml and principals.xml.
 So. I have them registered in the 
orion-application.xml, but... The do not get copied. Instead Orion cries-out 
that i have specified invalid names for data-sources and for 
principals.
 Trying I found, that after copying 
the orion-application.xml to the deployment directory Orion starts to search for 
the principals.xml and the data-sources.xml in the deployment directory, without 
first copying them there.
 Is there a way to make Orion 
autocopy them?

 BTW. I HAVE to use 1.4.5 for many 
reasons, so answers like "Fixed in 1.5.0" or something like that are not 
options.

 
W8ingForward2Hearing4mU.soon

 Lachezar


Re: Error in deploying CMP bean in 1.5.2

2001-06-13 Thread Lachezar Dobrev

   Hi.
   Check your deployment descriptor ejb-jar.xml in the META-INF directory in
the jar file.
   I think you have a property (variable) that containg some whitespace
(space, tab, enter).
   That is not permitted.

   Lachezar


 Hi All,

 I am new to Orion app. server. I am trying to deploy a CMP Entity Bean
 on 1.5.2. The server
 gives the following error:

 Auto-deploying employee-ejb.jar (No previous deployment found)... Error
 compiling
 E:\orion\applications\employee\build\employee/employee-ejb.jar: Variable
 contained
 illegal space

 Any help would be highly appreciated.

 Thanks,
 Deepak










Re: Security bug with application clients?

2001-06-12 Thread Lachezar Dobrev



 WRONG!!!
 As I see it... There is nothing in 
the post, that says SESSION or HTTP or JSP or SERVLET.
 I have stumbled upon this problem 
many times. I've raised that question on this list many times.
 However... Except for threads like 
"Orion deal blah, blah" I hardly see any meaningful mail on this list. Have to 
use it however.
 The problem comes from other 
place.

 SITCH:
 Step 1: Set up an InitialContext 
(url, factory, principal, credentials)
 Step 1.1: Do your job (create, 
use, remove etc.)

  watch here 
Step 2: TRY to get another 
Context with something different as parameters (let's say different user, url, 
password, any of these, except for the factory).

 RESULT
 You get an InitialContext, that 
points exactly to the same target as the first one. The same target server, the 
same target application, the same user, the same password. This is NOT how it 
should be.

 The only way to get a difefrent 
context is to receive an Exception while communicating. Then you can get 
different Context.

 WHY???
 Someone on the list proposed to use 
"dedicated.connection=true" in the InitialContext hashtable parameters. Haven't 
seen it to work...


 Hoping, to put the guns away, and do 
some job, isn't that why we are here?

 Lachezar.

  its 
  in the "clean things up" step that something went wrong. 
  
  You 
  need to do a session.invalidate(), and then create a new guest session with a 
  session.create("true"). Here is the bit in the RequestProcessor of the 
  BluePrint (petstore):
  
   if (event 
  instanceof LogoutEvent) 
  { 
  ...whatever 
  ... 
  session.invalidate();

  whatever 
   
  HttpSession validSession = req.getSession(true); 

  ...whatever ...
   }
  
  This 
  is usually done in a servlet. I would do the same thing here. Instead of using 
  the client -  slsb - whatever ... use client - servlet - slsb 
  - whatever bean. This way, you can abstract whatever login/logout and 
  session control directly with the servlet, and you also abstract instancing 
  the slsb - whatever bean. The servlet can also be loadbalanced (the slsb 
  can't be) so if you want failover capability, you get it. 
  
  regards,
  
  the 
  elephantwalker
  
  
  
  
-Original Message-From: 
[EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED]]On Behalf Of Michael 
JaraSent: Monday, June 11, 2001 6:51 PMTo: 
Orion-InterestSubject: Security bug with application 
clients?
Hi,

I'm trying to get the security portion of a 
project working, in which a java client connects to a stateless session 
beanafter login. As far as I can tell, Orion doesn't seem to 
properly pass around principal objects in stateless session 
beans.

This is the sequence that my test client 
runs:

1. Prompt user for user ID  
password
2. Create an InitialContext containing the user 
ID and password (as "java.naming.security.principal" and 
"java.naming.security.credentials", respectively.)
3. Look up the stateless session bean's 
home
4. home.create() the stateless session 
bean

So far, so good. The stateless session 
bean correctly identifies the user ID within its session context's 
principal. Now I clean things up and repeat the process:

5. remove() the stateless session 
bean
6. close() the InitialContext (just in case... 
I even went so far as to remove all of its environment 
properties.)
7. Log on again: prompt for a different user ID 
 password
8. Create a newinitial context as in step 
2.
9. Look up the stateless session bean's 
home
10. home.create() the stateless session 
bean

This is where things go wrong. I get the 
principal out of the stateless session bean's session context, which 
indicates that I'm logged in as the first user! The problem is that 
the bean is never calling "setSessionContext" on the second creation. 
If I re-start the client however, it works correctly.

The only way I can think of to get around this 
is to use a stateful session bean instead... I don't like that, 
because I don't need to maintain state! Has anyone else encountered 
this problem? Found a solution?

Thanks,
Mike


Web-security-constraints URGENT help needed!

2001-06-12 Thread Lachezar Dobrev



 Preface: I have a password protected 
site. Servlets, JSPs and pages.

 Requirement: I want to disable 
security checking for CERTAIN items.

 Question: Simple: Can I and How Do 
I?

 Looking forward to hearing from 
you.

 Lachezar.


Re: Simple Clustering Question

2001-06-10 Thread Lachezar Dobrev



 Hi.

 you need a switch which has multicast 
enabled; (most ethernet switchs have this capability, some just don't 
have it enabled)
 That is not true.
 Multicast is a network service. It 
is of type send-on-receive-anyone. That means, that one packet is send and it is 
received by anyone, listening to that multicast IP/PORT.
 If you have an Ethernet, than you 
have the Multicast ability. Routing multicast packets is a different 
question.
 Having one, or more Ethernet 
networks, connected with "dumb" equipment (HUBs, SWITHCHes, REPEATERs) also 
gives the multicast routing.
 Internet multicast routings is 
somehow more complicated.
 It is enough to say, that if you 
have a single dumb ethernet connection between your boxes is enough for the 
Orion multicast clustering to work.
 Of course all the boxes have to be 
configured to use one and the same Multicast IP and one and the same 
PORT.
 That's it.

 Lachezar.

  Hi,I've 
spent the last while trying to get clustering to work   with orion 
server   1.5.2 without success. First I tried to follow the 
instructions at   http-clustering-howto.html from the documentation, 
it said:  Setting up the server1. 
Install orion and start it.2. Edit the   
orion/application-deployments/default/defaultWebApp/orion-web.xml   
file and add:  cluster-config /
3. Repeat 1 and 2 for another (or more) box(es).But 
when I tried to connect to the server, the server let me   know that 
the   file /orion/default-web-app/WEB-INF/web.xml hadn't got the tag 
  distributable/ in it.I then 
added this tag to all servers   
/orion/default-web-app/WEB-INF/web.xml   file in the cluster, and 
tried again, this time they actually ran the   SessionServlet but as 
if they were being run individually,   i.e. the session  
 wasn't shared as it was supposed to be, I did remember to append  
 ;jsessionid=ID YOU GET ON YOUR BOX1 SCREEN  to it and 
tried both leaving the angle brackets in and out.I 
know I must be doing some thing wrong but I can't find it,   I'd 
really   appreciate some help.I noticed 
in the http-clustering.html that in the clustering   it mentions the 
  default for multicast host/ip to transmit and receive cluster 
  data on is   230.0.0.1, port number 9127, does this 
mean I have to have a   network card   listening on this 
IP/port?What exactly is a network with operational 
multicast   facilities, is plain   100Mbs ethernet 
running on linux OK?Thanks,  
Oisin


Re: Generate and save a file

2001-06-06 Thread Lachezar Dobrev

   I personally use upload via HTTP from the EJB. Noone says i have to stop
using Client sockets :)))

   Lachezar.
   BTW. U can use streams in Orion. Try not to :)))


 [This might show up twice. I waited two days before sending it again]


 Hi!

 I need to save a file to disk from EJBCreate() in an entity bean.
 What is the best way? I read that Weblogic allows you to violate the EJB
 specification and use a FileOutputStream. Does Orion let me do this as
well?

 I thought about using RMI to call an external method. But then I would
have
 to start rmiregistry on the server as well as Orion. Or could Orion act as
 RMI-server too?

/Markus








Re: need for error explanation

2001-06-01 Thread Lachezar Dobrev



 Hya.
 It seems to me, that you are trying 
to use something, that is specific to Inprise Application Server (IAS). The 
"com.inprise.*" package contains the IAS (BAS) classes. I had similar problems 
when migrating from IAS to ORION. Check your code... Maybe there are things that 
are in IAS... Most (if not all) of them are not in Orion...

 Hope this helps a bit.
 May the shade of the tree strengthen 
you.
 Lachezar

 hi,  though i tried this 
using jbuilder and inprise, i need the explanation about this error 
because i didnt find the explanation. i have compiled the servlets, 
beans, ejbs and it didnt echo any single error.  what are the 
possibilities for this error?  thanks   
javax.servlet.ServletException: CORBA MARSHAL 0[Error unmarshaling value 
[Could not get class for repository id = 
RMI:com.inprise.ejb.util.CustomVector:1]] at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp 
l.java:386) at 
distributor._0002fdistributor_0002fSalesAllocation_0002ejspSalesAllocation_j 
sp_0._jspService(_0002fdistributor_0002fSalesAllocation_0002ejspSalesAllocat 
ion_jsp_0.java:2020) at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at 
org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.ja 
va:174) at 
org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261) 
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369) 
at 
com.borland.jbuilder.webserverglue.tomcat.jsp.JspLoaderEcho.service(Unknown 
Source) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at 
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503) 
at 
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559) 
at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC 
onnectionHandler.java:160) at 
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338 
) at java.lang.Thread.run(Thread.java:484)  Root 
cause: java.rmi.MarshalException: CORBA MARSHAL 0[Error unmarshaling 
value [Could not get class for repository id = 
RMI:com.inprise.ejb.util.CustomVector:1]] at 
java.lang.reflect.Constructor.newInstance(Native Method) at 
com.inprise.vbroker.rmi.CORBA.UtilImpl.newInstance(UtilImpl.java:82) 
at 
com.inprise.vbroker.rmi.CORBA.UtilImpl._mapSystemException(UtilImpl.java:326 
) at 
com.inprise.vbroker.rmi.CORBA.UtilImpl.mapSystemException(UtilImpl.java:451) 
at javax.rmi.CORBA.Util.mapSystemException(Util.java:67) at 
com.macro.ejb.entity.distributorrole._DistributorroleHome_Stub.findAll(_Dist 
ributorroleHome_Stub.java:259) at 
distributor._0002fdistributor_0002fSalesAllocation_0002ejspSalesAllocation_j 
sp_0._jspService(_0002fdistributor_0002fSalesAllocation_0002ejspSalesAllocat 
ion_jsp_0.java:1939) at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at 
org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.ja 
va:174) at 
org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261) 
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369) 
at 
com.borland.jbuilder.webserverglue.tomcat.jsp.JspLoaderEcho.service(Unknown 
Source) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at 
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503) 
at 
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559) 
at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC 
onnectionHandler.java:160) at 
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338 
) at java.lang.Thread.run(Thread.java:484)  



Re: Problem with jsp pages

2001-06-01 Thread Lachezar Dobrev



 Hi.
 I guess by the err log, that you are 
trying to use this method in a JSP page.
 As by the specs in a JSP to get a 
reference to the cotext you should use the "pageContext" object, that is found 
in every JSP page.
 Why not give it a try?

 TRY:

 Vector vectorUsuarios = 
(Vector)pageContext.getAttribute("vu");

 pageContext is an object of type 
javax.servlet.jsp.PageContext.

 There is also one implicit object: 
"application". It should be of type javax.servlet.ServletContext. So you can 
also try:

 Vector vectorUsuarios = 
(Vector)application.getAttribute("vu");

 BTW. Your problem is the 
getServletContext method, not the getAttribute :)

 Hope this helps.
 May the shade of the tree strengthen 
you.
 Lachezar

 Hi all, I'm a newbie using Orion and 
I have a problem. I need to get Servlet Context to get an attribute, but 
when I use getServletContext().getAttribute("Attribute") I receive the 
follow error:  /jsp/adestadoc.jsp.java:35: Method 
getServletContext() not found in class /jsp/adestadoc.jsp. (JSP page 
line 9)  Vector vectorUsuarios 
= (Vector)getServletContext().getAttribute("vu");  I've 
put tools.jar and rt.jar in the Orion directory. I haven´t any other 
problems executing servlets and jsp pages. Can anybody help me? 
 Thanks in advance.  Antonio


Q: Am I the only one lagged?

2001-06-01 Thread Lachezar Dobrev



 Am I the only one, that receives 
messages more than three hours after he has sent them?
 It happens that I look silly, when 
answering questions, that have been answered 5-6 times, before my message is 
received...
 And also it's quite annoying to me 
to see my questions a couple hours after I have solved my problem on my own 
:(

 Ashamed: 
Lachezar.


Re: proxying orion with IIS or iPlanet Web Server

2001-05-30 Thread Lachezar Dobrev



 Hya...
 Got a reply for you :).
 I use Apache as a front-end server. 
I use Orion to store my EJBs, and I use Jakarta-Tomcat to deploy servlets and 
JSPs. Just put the Tomcat and Orion on one and the same machine, start tomcat 
with a classpath, that includes the jars of the Orion server. Put a 
jndi.properties file somewhere (probably the web-inf/classes directory) and 
specify the jndi properties as for a remote application:

 
java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory 
java.naming.provider.url=ormi://127.0.0.1/your application
 java.naming.security.principal=admin 
user java.naming.security.credentials=admin 
pass

 Than you can safely read the 
Apache-Tomcat connectivity issues.
 I have used this with IAS instead of 
orion also. It worked.
 Apache and Tomcat are "cheaper" than 
other web servers :)

 May the shade of the tree strengthen 
you.
 Lachezar


- Original Message - 
From: "Andrew Diederich" [EMAIL PROTECTED]
To: "Orion-Interest" [EMAIL PROTECTED]
Sent: Wednesday, May 30, 2001 12:46 
AM
Subject: RE: proxying orion with IIS or iPlanet 
Web Server
 I was afraid of that -- ISA is a minimum of $1,500. An expense 
for the free webserver. I'll look into, iWS, but since iPlanet 
sells a proxy server, too, I bet their webserver won't do it be default, 
either. Ah, well.   Does this mean folks using 
Orion on NT/Win2k put Orion in their DMZ?  -- 
Andrew  -Original Message- From: Juan Lorandi 
(Chile) [mailto:[EMAIL PROTECTED]] Sent: Monday, May 28, 2001 
13:40 To: Orion-Interest Subject: RE: proxying orion with IIS or 
iPlanet Web Server   Dig into ISA server, It's the M$ 
reversed proxy solution. Or else, go into the ISAPI filter world (best 
of luck)  JP  


Re: proxying orion with IIS or iPlanet Web Server

2001-05-30 Thread Lachezar Dobrev



 Frankly?
 Apache is better connected to 
Tomcat... Faster, and there is no need for those... URL rewrites and so on... 
Also... I can have the users authenticated at the apache side. I get the 
username and security things from the apache directly.
 Quite handy you know... Orion is not 
so good at handling Apache requests. and if you plan to use prive IPs (like 
having Apache run on the firewall machine...) than you'll be very sorry... Like 
I was, because there is a SIGNIFICANT delay while Apache servers the requests, 
I'm not sure why. I guess it's something to do with the DNS resolving... 
However... Having Win2k as a firewall/router/Apache server is not the best 
solution... Believe me. If it was to me... I'll get a SlackWare to do the server 
job... But it's not up to me... :(

 Tomcat uses some different protocol 
to serve requests to Apache (APJ). Well... You can still use Tomcat as HTTP 
request server, but... Better not :) same goes to Orion.

 May the shade of the tree strengthen 
you.
 Sincerely yours: 
Lachezar



  - Original Message - 
  From: 
  Patrik Andersson 
  To: Orion-Interest 
  Sent: Wednesday, May 30, 2001 10:32 
  AM
  Subject: SV: proxying orion with IIS or 
  iPlanet Web Server
  
  Just 
  for the sake of asking,
  
  why 
  do you have tomcat serving jsp/servlets and orion serving ejbs if they're both 
  running on the same machine? For me, that sounds like asking for extra 
  maintenance trouble. And another thing, from having one "single point of 
  failure" you now have 3. If either one if these three applications decide to 
  call it a day your whole application dies and that goes for having two 
  machines running different software aswell. Why not use two or three machines 
  all running orion and having them split the workload by clustering 
  them?
  
  regards,
  Patrik
  
-Ursprungligt meddelande-Från: Lachezar Dobrev 
[mailto:[EMAIL PROTECTED]]Skickat: den 30 maj 2001 
08:50Till: Orion-InterestÄmne: Re: proxying orion with 
IIS or iPlanet Web Server
 Hya...
 Got a reply for you 
:).
 I use Apache as a front-end 
server. I use Orion to store my EJBs, and I use Jakarta-Tomcat to deploy 
servlets and JSPs. Just put the Tomcat and Orion on one and the same 
machine, start tomcat with a classpath, that includes the jars of the Orion 
server. Put a jndi.properties file somewhere (probably the web-inf/classes 
directory) and specify the jndi properties as for a remote 
application:

 
java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory 
java.naming.provider.url=ormi://127.0.0.1/your 
application
 
java.naming.security.principal=admin user 
java.naming.security.credentials=admin pass

 Than you can safely read the 
Apache-Tomcat connectivity issues.
 I have used this with IAS 
instead of orion also. It worked.
 Apache and Tomcat are "cheaper" 
than other web servers :)

 May the shade of the tree 
strengthen you.
 Lachezar


- Original Message - 
From: "Andrew Diederich" [EMAIL PROTECTED]
To: "Orion-Interest" [EMAIL PROTECTED]
Sent: Wednesday, May 30, 2001 12:46 
AM
Subject: RE: proxying orion with IIS or 
iPlanet Web Server
 I was afraid of that -- ISA is a minimum of 
$1,500. An expense for the free webserver. I'll look 
into, iWS, but since iPlanet sells a proxy server, too, I bet their 
webserver won't do it be default, either. Ah, well. 
  Does this mean folks using Orion on NT/Win2k put Orion in 
their DMZ?  -- Andrew  -Original 
Message- From: Juan Lorandi (Chile) 
[mailto:[EMAIL PROTECTED]] Sent: Monday, May 28, 2001 
13:40 To: Orion-Interest Subject: RE: proxying orion with 
IIS or iPlanet Web Server   Dig into ISA server, 
It's the M$ reversed proxy solution. Or else, go into the ISAPI 
filter world (best of luck)  JP  
  


How to contact Magnus? (was OR mapping)

2001-05-29 Thread Lachezar Dobrev



 I badly need to get the fix for the 
OR mapping...
 Is there a source to get the 
fix/patch, or do I have to contact a developer? If so, how can I contact Magnus 
to get the fix.
 Needed BADLY!

 Lachezar


Shitty ORMap implementation in 1.5.1

2001-05-28 Thread Lachezar Dobrev



 The com.evermind.server.java.ORMap 
does NOT implement in the correct way the java.util.Map interface. So... One is 
UNABLE to get the KeySet, or ValueCollection.
 What the heck is 
that??

 Sincerly dissolved: Lachezar 
:(


Re: Cannot start orion using JDK1.4

2001-05-28 Thread Lachezar Dobrev



 You are trying to use the JRE, 
whilst Orion requires more stuff from the JDK itself.
 Try to start in the Orion 
directory:
 path to the 
JDK/bin/java -jar orion.jar

 Other thing: Check this NIO.DLL. 
Whatever. It may be missing. shrug
 ANOther thing: Put the 
c:\program\1.4\bin directory in the path.

 Try again :)
 Lachezar
 
just asking if someone out there has already successful in running orion 
with jdk1.4  java.lang.UnsatisfiedLinkError: c:\program 
files\javasoft\jre\1.4\bin\nio.dll


Re: Orin cpu usage ???

2001-05-21 Thread Lachezar Dobrev

 Thanks peter,

 The javac is indeed linked to .java_wrapper, but to me it's not clear what
I
 should change such that it works in classic mode. Neither do I find
anything
 about that in the man pages. Doesn't anyone knows how to execute
 java -classic .. on a Linux box ??

 Eddie

   Not quite sure, but the JBuilder docs say:
   For Windows only: you can use the classic JVM... blah blah.
   I really don't think there is a classic JVM for nonWindows OS :( Damn.


   Lachezar






TO THE DEVELOPERS: java.net.SocketException: socket closed

2001-05-10 Thread Lachezar Dobrev



java.net.SocketException: socket 
closed at 
java.net.PlainDatagramSocketImpl.receive(Native 
Method) at 
java.net.DatagramSocket.receive(DatagramSocket.java:392) 
at com.evermind.net.jc.ar0(JAX) at 
com.evermind.server.jms.ca.run(JAX) 
at java.lang.Thread.run(Thread.java:484)

 More: Using Win2k, Orion 1.4.5 
(1.4.8), RMI clustering turned on.

 Explanation: My research points, 
that Orion is using one and the same port to multicast and receive multicasting 
messages. However, if one tries to close the sending socket, the receiving one 
is also closed (not in all 100% of the cases. Approximately that happens every 
25%, something to do with the synchroinization I think).

 Conducting the following 
experiment:
 Server: An application that listens 
to MultiCast packets and prints them.
 Client: An application, that opens a 
multicast socketon the same port as the server is receiving on, and after 
sendin, closes the socket.
 If the client, and the server live 
on one and the same machine roughly every one of four receivings the server gets 
the SocketException.

 Basic solution: Don't close the 
sending socket, anyway you don't need to.
 Better solution: You don't have to 
send from the same port number. When creating the MultiCast socket just leave 
the port selection to the underlying software and hardware.
 Solution three: Use one socket for 
receiving, and another for sending. Leave port selection for the sending socket 
to the framework. Thus you have only one port reserved for sending (in sollution 
two you get a different port for every sending socket you create).
 Can't help more. No source 
:)
 BTW. I'm still curious how to 
cluster RMIs on a couple of Orions...

 Be well.

 Lachezar Dobrev
 May the shade of the tree strengthen 
you.


Simplifying the complicated...

2001-05-09 Thread Lachezar Dobrev

   CAN I cluster a couple of Orion servers RMIs at all???

   Thanks.






Somehow complicated question... URGENT help needed.

2001-05-08 Thread Lachezar Dobrev



 Hello.
 Preface: We are developing an 
application, consisting of number of services, a web interface, and a couple of 
servlets.

 Q1: We wish to use a number of 
Orion servers. However we need to cluster them, to empower the processor boost. 
As far as I know clustering is madefor the web apps only. That does not 
count. We may use non-clusterable Web App. However we need to cluster the EJBs. 
Some of them are deployable on multiple machines, others are server-type ejbs, 
that HAVE to run in one place only. I was unable to start RMI clustering either 
way. Exceptions, hang-ups... Tough problem. THE QUESTION: How do I cluster RMI 
interfaces of a number of Orion servers. Is that enough to receive different ejb 
home interface, when I look-up an EJB? If not, how do I do that? I mean: Lets 
say we have 10 Orion servers:
 1. Web App server. For the 
servlets, jsps and so on. HTTP documents are put on an Apache web server. That's 
one.
2..9. EJB servers. They 
have some 10 EJBs, to perform different tasks. they do not have tobe on 
all machines.
 10. sEJB server. These are 
some EJBs that perform server-type services. Access to different 
data-sources(not a java Data Source, but rather application specific non 
database data). They are deployed on one place only.

 I wish to be able to contact 
any ejb from any other on the cluster.
 How Do I Do That?

 Q2: TECHNICAL Is there 
a way to reset the InitialContextFactory?
 Problem: Some time ago I was 
lit a light about the RMIInitialContextFactory. It worked fine, until I came 
upon a situation, where I had to connect to services (EJBs) on a different 
machine, with a different provider URL, username, password. Well. In 3 words: It 
doesn't work! It still continues to use the prime connection. The same URL, user 
and password. And that's NOT good at all... I need to switch! the app continues 
on and on.
 Also: I have an EJB deployed 
on one Orion. I tried to connect to a different EJB on a different machine. OK. 
Then again not :(. I deployed the second EJB on the first Orion. Later when I 
try to connect to the other machine I connection to the local deployment. Why is 
that?

 Sorry, if these seem too dumb, 
or somehow unneeded, but I need to do this :(

 Please help. I like Orion 
much. I really wish to be able to run everything smoothly. Until now ISA worked 
fine, but it's slower, has some problems with the EJB-2-EJB connection and is 
EXPENSIVE! I really would like to run on Orion.

 Looking forward to hearing 
from you all.

 Lachezar Dobrev.
 May the shade of the tree 
strengthen you.


Look at www.orionsupport.com?!?!

2001-04-26 Thread Lachezar Dobrev

This is DEFINITELY not good!
javax.servlet.jsp.JspTagException: Could not perform XSL transformation:
javax.xml.transform.TransformerException: File
http://my.netscape.com/publish/formats/rss-0.91.dtd; not found.at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
640)at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:
1085)   at com.opensymphony.module.tags.transform.xml.transform(xml.java:297)
at com.opensymphony.module.tags.transform.xml.doEndTag(xml.java:196)at
/panels/links.jsp._jspService(/usr/local/applications/orionsupport/default-w
eb-app/panels/links.jsp:2)  at
com.orionserver.http.OrionHttpJspPage.service(JAX)  at
com.evermind.server.http.HttpApplication.xu(JAX)at
com.evermind.server.http.JSPServlet.service(JAX)at
com.evermind.server.http.eb.doFilter(JAX)   at
com.sitemesh.filter.PageFilter.doFilter(PageFilter.java:41) at
com.evermind.server.http.d4.s3(JAX) at com.evermind.server.http.d4.s1(JAX)
at com.evermind.server.http.d4.forward(JAX) at
com.sitemesh.taglib.page.PanelTag.parseExternal(PanelTag.java:169)  at
com.sitemesh.taglib.page.PanelTag.doEndTag(PanelTag.java:136)   at
/decorators/orionsupport-front.jsp._jspService(/usr/local/applications/orion
support/default-web-app/decorators/orionsupport-front.jsp:78) (JSP page line
57) at com.orionserver.http.OrionHttpJspPage.service(JAX)   at
com.evermind.server.http.HttpApplication.xu(JAX)at
com.evermind.server.http.JSPServlet.service(JAX)at
com.evermind.server.http.eb.doFilter(JAX)   at
com.sitemesh.filter.PageFilter.doFilter(PageFilter.java:41) at
com.evermind.server.http.d4.s3(JAX) at com.evermind.server.http.d4.s1(JAX)
at com.evermind.server.http.d4.forward(JAX) at
com.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:110)  at
com.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58) at
com.evermind.server.http.d4.s3(JAX) at com.evermind.server.http.d4.s1(JAX)
at com.evermind.server.http.eg.s9(JAX)  at
com.evermind.server.http.eg.dr(JAX) at com.evermind.util.f.run(JAX) at
com.opensymphony.module.tags.transform.xml.doEndTag(xml.java:205)   at
/panels/links.jsp._jspService(/usr/local/applications/orionsupport/default-w
eb-app/panels/links.jsp:2)  at
com.orionserver.http.OrionHttpJspPage.service(JAX)  at
com.evermind.server.http.HttpApplication.xu(JAX)at
com.evermind.server.http.JSPServlet.service(JAX)at
com.evermind.server.http.eb.doFilter(JAX)   at
com.sitemesh.filter.PageFilter.doFilter(PageFilter.java:41) at
com.evermind.server.http.d4.s3(JAX) at com.evermind.server.http.d4.s1(JAX)
at com.evermind.server.http.d4.forward(JAX) at
com.sitemesh.taglib.page.PanelTag.parseExternal(PanelTag.java:169)  at
com.sitemesh.taglib.page.PanelTag.doEndTag(PanelTag.java:136)   at
/decorators/orionsupport-front.jsp._jspService(/usr/local/applications/orion
support/default-web-app/decorators/orionsupport-front.jsp:78) (JSP page line
57) at com.orionserver.http.OrionHttpJspPage.service(JAX)   at
com.evermind.server.http.HttpApplication.xu(JAX)at
com.evermind.server.http.JSPServlet.service(JAX)at
com.evermind.server.http.eb.doFilter(JAX)   at
com.sitemesh.filter.PageFilter.doFilter(PageFilter.java:41) at
com.evermind.server.http.d4.s3(JAX) at com.evermind.server.http.d4.s1(JAX)
at com.evermind.server.http.d4.forward(JAX) at
com.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:110)  at
com.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58) at
com.evermind.server.http.d4.s3(JAX) at com.evermind.server.http.d4.s1(JAX)
at com.evermind.server.http.eg.s9(JAX)  at
com.evermind.server.http.eg.dr(JAX) at com.evermind.util.f.run(JAX)






Re: 1.4.8

2001-04-26 Thread Lachezar Dobrev

   Ahm... Downloading you get 1.4.5
   Autoupdating (RTFM) you get 1.4.8 currently...
   That's it.

   Lachezar

 It seems that everyone on this list is using at least 1.4.7, whereas I
 cannot find anything more recent than 1.4.5 on www.orionserver.com.  Where
 are you guys getting these more updated versions??

 -charlie

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of Jeff Hubbach
 Sent: Wednesday, April 25, 2001 9:11 AM
 To: Orion-Interest
 Subject: 1.4.8


 Did anyone else notice that 1.4.8 was on the website for a day, then
 taken back down?

 Jeff.

 --
 Jeff Hubbach
 Internet Developer
 New Media Designs, Inc.
 www.nmd.com








How to cluster more than one Orion on a net.

2001-04-25 Thread Lachezar Dobrev

   I need to know how does Orion (and if it can at all) cluster.
   Excuse my bad English. I mean:
   I have a couple of EJBs. I need to deploy them on more than one machine
to unleash more computing power. However I am not aware of the way. I mean.
I was really able to open a connection to an EJB and even do some work with
a couple of EJBs with one and the same interface, but that do different
jobs...
   Now I have to implement some way to deploy these on more than one
machine... Something like looking up an EJB without knowing every machine it
is being deployed on...

   U... It may sound very complicated, but I'm having trouble explaining
my idea in English :(

   If anyone has something that can help. Please answer.

   May the shade of the tree strengthen you.
   Lachezar






Re: How to connect to an Orion Ejb from outside?

2001-04-20 Thread Lachezar Dobrev

   Whoa... Thanks!!!
   That really helps. Haven't tried still, but that was my problem.
   Thanks again.

   May the shade of the tree strengthen you.
   Lachezar.

 I can't speak specifically for CORBA, but you can most certainly access
EJBs
 in an Orion server from stand-alone Java clients (not servlets). The
correct
 method of obtaining the JNDI context when operating outside the container
is
 not well documented, but I worked it out as follows:

 Hashtable ht = new Hashtable();
 ht.put(Context.INITIAL_CONTEXT_FACTORY,
 "com.evermind.server.rmi.RMIInitialContextFactory");
 ht.put(Context.PROVIDER_URL, "ormi://MyServer/MyApplication");
 ht.put(Context.SECURITY_PRINCIPAL, "admin");
 ht.put(Context.SECURITY_CREDENTIALS, "abc123");
 Context ctx = new InitialContext( ht );


 - Original Message -
 From: "Lachezar Dobrev" [EMAIL PROTECTED]
 To: "Orion-Interest" [EMAIL PROTECTED]
 Sent: Thursday, April 19, 2001 10:32 AM
 Subject: How to connect to an Orion Ejb from outside?


 Until now I have developed EJBs for use with a CORBA broker.
 However, I did not see such a thing in ORION.
 Question: How (and can I) do I adress EJBs from my outside-of-orion
  applications?
 I was able to create a couple of basic EJBs. Well... Had to move them
 to
  ORION. My problem is, that my apps now cannot adress these EJBs. Is it
  possible at all, or not? If yes, than how, 'cause I saw nothing on this
  subject neither in the documentation, nor in the tutorials.
 
 Thanks in advance.
 Lachezar.
 
 
 










Newbie Question...

2001-04-19 Thread Lachezar Dobrev

   Until now I have developed EJBs for use with a CORBA broker.
   However, I did not see such a thing in ORION.
   Question: How (and can I) do I adress EJBs from my outside-of-orion
applications?
   I was able to create a couple of basic EJBs. Well... Had to move them to
ORION. My problem is, that my apps now cannot adress these EJBs. Is it
possible at all, or not? If yes, than how, 'cause I saw nothing on this
subject neither in the documentation, nor in the tutorials.

   Thanks in advance.
   Lachezar.







How to connect to an Orion Ejb from outside?

2001-04-19 Thread Lachezar Dobrev

   Until now I have developed EJBs for use with a CORBA broker.
   However, I did not see such a thing in ORION.
   Question: How (and can I) do I adress EJBs from my outside-of-orion
applications?
   I was able to create a couple of basic EJBs. Well... Had to move them to
ORION. My problem is, that my apps now cannot adress these EJBs. Is it
possible at all, or not? If yes, than how, 'cause I saw nothing on this
subject neither in the documentation, nor in the tutorials.

   Thanks in advance.
   Lachezar.