Domain Class and EJB Component
Hi,
I have defined a set of domain classes(with get/set methods) and a set of EJB Session Beans for the business logics.
The question is, where do I locate the domain classes?
Create a package for it (e.g. com.mysystem.domain)?
Or distribute it into the Session Bean packages (e.g. for account related domain classes, place it into com.mysystem.ejb.account)?
The problem for placing it into the domain package:
1. I have too many domain class ( >200). It's hard to maintain and perform analysis. (Imagine >200 classes in a class diagram)
2. All session beans need to import the "com.mysystem.domain" package in order to reference the domain classes. Therefore, all session beans will have the dependency to the domain package. Is it what component based development (CBD) does?
The problem for distribute it into the Session Bean packages:
1. Some domain classes are heavily depends on other domain classes (e.g Address class has association relationship with the Customer class and Staff class) If I have a session bean for Staff Management(StaffBean) and Customer Management(CustomerBean), where should I put the Address class?
1. Some domain classes are abstract classes. e.g. Person abstract class have a generalization relationship with the Customer class and Staff class. Similiar to point 1, where should I put the Person class?
It is appreciate if anyone can clear my mind of component design.
I have the same confusion, but I think we should place them in a separate packages , a package for each related bundle of domain objects, the logic behind this is that domain object should not know that you are using EJBs or any other technology .
an OO expert advice is appreciated
Similar Messages
-
Redeploying classes and EJBs into a running, external WeblogicServer6.1 application
Is it possible to debug, edit, compile and deploy the new class and/or EJB using
jBuilder5 on Win2k and WeblogicServer6.1 on Solaris WITHOUT restarting the app
server? Is there solid documentation, where? I can debug, but the 'documentation'
concerning re-deployment on an external WLS application server is vague at best.
For example, from Borland...."If the EJB already exists in WebLogic Server, it
may be necessary either to use re-deploy or to remove it from WebLogic Server
before deployment." From BEA, "...create an empty file named REDEPLOY in the directory
where the exploded application resides. ... After copying the new files, touch
the REDEPLOY ...."I think i figured this one out. Thanks to everyone who looked at it. Have yourselves a good one.
WOO HOO -
Sequence of startup classes and EJB deployment
The default sequence when WLS is starting is deploying EJB first and then startUpClasses. Could someone tell me if it's possible to change the sequence.
Thanks a lot in advance.Sure have your startup class do its work and then hot-deploy the EJB.
-- Rob
Jack wrote:
>
The default sequence when WLS is starting is deploying EJB first and then startUpClasses. Could someone tell me if it's possible to change the sequence.
Thanks a lot in advance. -
Difference between class and component
Hi,
Can any help me
1) what are the differences betw a java class and java component.
2) what are the differences betw a java script and java.
3) Is there any difference betw a java and server side java
4)what is class path.what you seriously need is to read the tutorials.
ad 1) typically a component is encapsulated in a jar, but a class may be a component, too. this is very much dependent on the context.
ad 2) Java is a full featured programming language, JavaScript is a typeless scripting language mostly used in internet browsers. they share some basic syntactic constructs, but that's all.
ad 3) server side java denotes certain functionality implemented in java.
ad 4) the list of places a virtual machine looks into to load classes
robert -
I've looked on google but I can not find the correct answer.
I have an assignment that says: create a domain class and a DAO to perform the database uptdate.
What in fact is a domain class?jschell wrote:
Kayaman wrote:
I haven't heard people talking about DAOs much lately (in relation to Java I mean), since with the latest developments in persistence, you have EJBs pretty much handle the role of data access objects.I don't understand that statement.
I would associate "EJB" with early J2EE/JEE architecture and as far as questions on this site go there are very few about EJBs (either as a general term or a specific one.) That has been replaced by POJO/Hibernate/JPA as general conversational topics.
And DAO as Data Access Object doesn't show up as much as any of those but does show up more than EJB.I guess what I meant was having session beans in general handle the data accessing. Of course that's not true for everything. A lot has changed in these 10 or so years I've been involved with Java.
My perspective is also a bit skewed due to some of the projects I'm involved in. For example we have one project that has been around for several years and it started out with EJB2 tech. Now it uses both EJB2 and EJB3 thanks to a "creative" emulation layer.
Probably Spring and Struts2 and their friends have taken away the questions that once were about the EJBs. Which is just as well in my opinion. -
Hi:
I am using "Object-oriented Application Development Using Java" by E. Reed Doke, John W. Satzinger, and Susan R. Williams for my OO class. Currently, I am learning how to create a domain class and how to invoke that class. One of the examples provided by the book involves two .java files, Slip.java (the class definition) and TesterFour.java (to invoke the class definition). When I tried to run TesterFour.java, I got a bunch of error messages. Following are the codes:
1. Slip.java
// Chapter 6
// illustrate a PD class with a static variable and method
public class Slip
// attributes
private int slipId;
private int width;
private double slipLength;
// static attribute variable
private static int numberOfSlips = 0;
// constructor with 3 parameters
public Slip(int anId, int aWidth, double aSlipLength)
// invoke setters to populate attributes
setSlipId(anId);
setWidth(aWidth);
setSlipLength(aSlipLength);
numberOfSlips++;
// custom method to lease a Slip
public double leaseSlip()
double fee;
switch(width)
case 10: fee = 800;
break;
case 12: fee = 900;
break;
case 14: fee = 1100;
break;
case 16: fee = 1500;
break;
default: fee = 0;
return fee;
// setters
public void setSlipId(int anId)
{slipId = anId;}
public void setWidth(int aWidth)
{ width = aWidth;}
public void setSlipLength(double aSlipLength)
{ slipLength = aSlipLength;}
// getters
public int getSlipId()
{ return slipId;}
public int getWidth()
{ return width;}
public double getSlipLength()
{ return slipLength;}
// static method
public static int getNumberOfSlips()
{ return numberOfSlips;}
// tellAboutSelf
public String tellAboutSelf()
String info;
info = "Slip: Id = "
+ getSlipId() + ", Width = "
+ getWidth() + ", Length = "
+ getSlipLength();
return info;
2. TesterFour.java
// Chapter 6 - Example 4
// create 3 instances of Slip and invoke static method getNumberOfSlips
public class TesterFour
public static void main(String args[])
// create an array to hold three Slip references
Slip slips[] = new Slip[3];
// create 3 Slip instances & display numberOfSlips for each
slips[0] = new Slip(1, 10, 20);
System.out.println("Number of slips " + Slip.getNumberOfSlips());
slips[1]= new Slip(2, 12, 25);
System.out.println("Number of slips " + Slip.getNumberOfSlips());
slips[2]= new Slip(3, 14, 30);
System.out.println("Number of slips " + Slip.getNumberOfSlips());
// retrieve & display numberOfSlips using reference variable
System.out.println("Number of slips (ref var) " + slips[0].getNumberOfSlips());
Here are the error messages that I got when I tried to run TesterFour.java:
TesterFour.java [12:1] cannot resolve symbol
symbol : method getNumberOfSlips ()
location: class Slip
System.out.println("Number of slips " + Slip.getNumberOfSlips());
___________________________________^
TesterFour.java [14:1] cannot resolve symbol
symbol : method getNumberOfSlips ()
location: class Slip
System.out.println("Number of slips " + Slip.getNumberOfSlips());
___________________________________^
TesterFour.java [16:1] cannot resolve symbol
symbol : method getNumberOfSlips ()
location: class Slip
System.out.println("Number of slips " + Slip.getNumberOfSlips());
___________________________________^
TesterFour.java [19:1] cannot resolve symbol
symbol : method getNumberOfSlips ()
location: class Slip
System.out.println("Number of slips (ref var) " + slips[0].getNumberOfSlips());
___________________________________________^
4 errors
Errors compiling main.
Please help me!! How can I make this code working?? And please remember that the code is originally from the book's CD.
Thanks a lot.Hi,
I'm sure Forte can find the file Slip.class since otherwise you would get different errors. Search your hard drive perhaps to know where Forte has stored these files.
If you would have created Slip.java partially, compiled it, and then unzipped the files from the CD, it might not recompile since the last file is older then the class file. Therefor you'll need to delete this one manually (or is there a 'clean' command in Forte perhaps?) -
Discussion -- Call for answers : Class and Component
Dear all,
1. Component has a clear seperation between the specification and implementation? I can't understand here.The interface define some operations,but eventually we need coding to realize it. Where is the speration?
A class also has methods and coding to realize it. But why we never say a class has a seperation between the specification and implementation?
2. Component has interface; Java has interface. Are they the same idea or different?
Call for answers.
Thanks
KevinHi, Kevin,
First of all, I need to clarify some terminologies and then try to anwser your questions.
(1) Interface only defines operations, but does not specifies how to implement those operations. In Java, abstract class and interface are interfaces. In CORBA, IDL is interface which can be implemented by differenct programming languages.
(2) Java class is both an interface and an implementation, because it not only defines operations, but also implements the operations.
(3) Component provides some specific functionalities, but is not a full-featured application. Usually, a full-featured application consists of many different components. A component can be large or small. A component can be as large as consisting of tens or hundreds of interfaces and classes, like EJB container and server. On the other hand, a component can be as small as comprising only one class; suppose you write a component to calculate foreign currancy conversion.
(4)Specification is a written document that tries to standardize the development of a large component. A specification specififies each party's responsibilities, such as application developers'responsibilities, vendor's responsibilities, administrtor's responsibilities and so on. Also, it specifies the contracts (interfaces) between each party. In doing so, a component can be made very reuseful and can be plug-in and play; changing different vendor's component without breaking application developer's owner code.
In Java world, you see a lot of specifications, such as JDBC, EJB and JMS. When SUN defines those specifications, they use Java interfaces rather other classes to specify interfaces. Here, clear seperation between interface and implementation is very important. (1) If a class is used to specify an interface, SUN must provide implementation for the class. But, the purpose of the specification to allow different vendors to provide implementation.(2) Implementation details can very complex and different vendors may implement the same component very differently. A specification only specifies interfaces but not the implementation. The implementation is up to the vendors. Any implementation is ok as long as they comply to the contracts (interfaces). For instance, one vendor may implement a specified interface using one class and another vendor may implement the same interface using three classes. If a class is used to specify an interface, you restrict vendors' implementation. Usually, in a specification, if you find a class that is used to defines an interface, it means that SUN will provide common implementation for it and vendors do not need to implement it.
In OO design and programing, clearly seperating interfaces from implementations is vital. We should program interface rather than program implementation.
Thanks.
Tommy -
Using Timer and TimerTask classes in EJB's(J2EE)
Does J2EE allow us to use Timer and TimerTask classes from java.util package in SessionBean EJB's ( Statless or Statefull )?.
If J2EE does allow, I am not sure how things work in practical, Lets take simple example where a stateless SessionBean creates a Timer class
and schedules a task to be executed after 5 hours and returns. Assuming
GC kicks in many times in 5 hours, I wonder if the Timer object created by survives the GC run's so that it can execute the scheduled tasks.
My gut feeling says that the Timer Object will not survive.. Just
want to confirm that.
I will be interested to know If there are any techiniques that can make
the usage of Timer and TimeTask classes in EJB's possible as well as reliable with minmum impact on over all performance.Have a look at J2EE 1.4. I think they add a timer service for EJBs there...
Kai -
Web-services.xml for EJB component and SOAP Message Handler Chain
I have used the following example for my own web service with EJB component and SOAP
Message Handler Chain:
http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
I have a deployment error:
javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/DocumentService.j
ar#DocumentService/home' Resolved: 'app/ejb' Unresolved:'DocumentService.jar#Doc
umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
In attachement is the ear file.
Is there a problem in web-services.xml?
Thanks
[ws_dox_sdi.ear]It works. Thanks,
Ioana
"Neal Yin" <[email protected]> wrote:
The error means your EJB is not deployed.
Adding a EJB module to your application.xml file of the ear should fixe
it.
<application>
<display-name />
<module>
<web>
<web-uri>dox_sdi.war</web-uri>
</web>
</module>
<module>
<ejb>DocumentService.jar</ejb>
</module>
</application>
"Ioana Meissner" <[email protected]> wrote in message
news:3cf640cc$[email protected]..
I have used the following example for my own web service with EJBcomponent and SOAP
Message Handler Chain:
http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
I have a deployment error:
javax.naming.NameNotFoundException: Unable to resolve'app/ejb/DocumentService.j
ar#DocumentService/home' Resolved: 'app/ejb'Unresolved:'DocumentService.jar#Doc
umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
In attachement is the ear file.
Is there a problem in web-services.xml?
Thanks -
Classes, Stateful EJBs and EJB Container
Hi,
We have several doubts about classes, servlets, and EJBs.
We have been told that the instance of non-static classes from JSPs or servlets
can be a problem if we have a big number of clients connecting to weblogic (or
any other app server). Would it be a problem? Is it a better practice to instantiate
those classes from EJBs?
We have been told that EJBs are managed by the EJB container, and it uses a pool
for serving them to clients, passivating and activating them. This would include
the classes instantiated inside them. Is it true?
If all our guesses are true, the better way to implement a search with pagination
would be a stateful EJB, using handlers to save it in the client's session. But
we've heard that stateful EJBs are really bad for server's perfomance. Is it true?
We are using Weblogic 7.0. If so, what are they useful for???
If they can be a problem, how to build that searching using stateless EJBs?
Best regards,
Ignacio SanchezYou're right, the concrete tag to use seems to be:
<replication-type>InMemory</replication-type>
Anyway, do you have any further explanation on Stateful's behaviour with many
clients and pagination implementation?
"Stanley Beamish" <[email protected]> wrote:
>
"Ignacio Sanchez" <[email protected]> wrote in message
news:[email protected]...
Thanks for your replies.
Anyway, I still have some questions about stateful EJBs. In a clusteredenvironment,
we've been told that stateful EJBs are only balanced before create()method. So,
if we have already "created" the Remote interface, we're using it,and the
server
fails and must be balanced to another instance, what will happen? Willwe
lost
that Remote interface and data included in it?
Not necessarily, you can enable replication, which means that your stateful
EJB's state (values of i-vars) can be replicated across nodes in a cluster.
Search through the WLS cluster documentation for details.
SB
And about your suggestion on pagination using stateless. Could youplease
explain
it in more detail? I haven't understood it well.
Thank you very much for your attention.
"Sri" <[email protected]> wrote:
Hi,
Look below for my coments.
S
"Ignacio Sanchez" <[email protected]> wrote:
Hi,
We have several doubts about classes, servlets, and EJBs.
We have been told that the instance of non-static classes from JSPsor
servlets
can be a problem if we have a big number of clients connecting to
weblogic
(or
any other app server). Would it be a problem? Is it a better practice
to instantiate
those classes from EJBs?It all boils down to your architecture. If you have a lot of clients
connecting
to web container then and if each client needs objects stored in session
then
you have to refactor your object distribution. But this could be avoided
by separating
static content from dynamic content (using proxies, load balancersetc),
having
more web containers etc. It's not necessary to instantiate these classes
in EJBs
always (then you are increasing your memory footprint). The generalguidelne
is
to do more heavy duty work as you go deeper into tiers hopefully handling
less
connections etc.
We have been told that EJBs are managed by the EJB container, and
it
uses a pool
for serving them to clients, passivating and activating them. Thiswould
include
the classes instantiated inside them. Is it true?
True.
If all our guesses are true, the better way to implement a search
with
pagination
would be a stateful EJB, using handlers to save it in the client'ssession.
But
we've heard that stateful EJBs are really bad for server's perfomance.
Is it true?
We are using Weblogic 7.0. If so, what are they useful for???
True if misused as stateful EJBs, just like HTTP sessions could bereplicated
and could be activated/passivated.
If they can be a problem, how to build that searching using stateless
EJBs?
You could cache searchs and pass identity and page numbers to theSLSB.
Best regards,
Ignacio Sanchez -
Where should the support classes of servlets, JSPs and EJBs be placed
Hi
Could you please tell me where the support classes (simple
java classes) used by servlets, JSPs and EJBs should be placed.
I find that my application does not work if I place all the
support classes of a servlet under $MYSERVER/clientclasses. I need to place some in $MYSERVER/clientclasses and some in
$MYSERVER/servletclasses. But I figured this out my trial and error and I could not find any logical explanation why some of them should go into $MYSERVER/clientclasses and others into
$MYSERVER/servletclasses.
Thanks
Regards
Pratima
you can put 'em in weblogic classpath
Kumar
Pratima Nambiar wrote:
> Hi
> Could you please tell me where the support classes (simple
> java classes) used by servlets, JSPs and EJBs should be placed.
> I find that my application does not work if I place all the
> support classes of a servlet under $MYSERVER/clientclasses. I need to place some in $MYSERVER/clientclasses and some in
> $MYSERVER/servletclasses. But I figured this out my trial and error and I could not find any logical explanation why some of them should go into $MYSERVER/clientclasses and others into
> $MYSERVER/servletclasses.
>
> Thanks
> Regards
> Pratima
-
Shared classes between webapplication and ejb
Hello,
If I have some java classes that are used by both WebApplication and EJB, do
I have to include those classes into both war and jar files?
Regards,
PeterYes accorinding to WLS Documentation
--Naggi
"Programming today is a race between software engineers
striving to build bigger and better idiot-proof programs, and the universe
trying to build bigger and better idiots.
So far, the universe is winning."
"Peter Tsang" <[email protected]> wrote in message
news:[email protected]..
>
Hello,
If I have some java classes that are used by both WebApplication and EJB,do
I have to include those classes into both war and jar files?
Regards,
Peter -
NoSuchMethodError when invoking EJB Component From BPM Process
Hi,
I created BPM process which contains global creation activity and user interactive activity and catalogued ejb component. In user interactive activity i wrote the Process Business Language to invoke Remote EJB deployed in weblogic server. When i tried to execute user interactive activity, i got the following exception.
Caused by: java.lang.NoSuchMethodError: weblogic.kernel.KernelStatus.isThinIIOPClient()Z
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.readObject(RemoteBusinessIntfProxy.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:195)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:565)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:191)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:201)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at weblogic.jndi.internal.ServerNamingNode_921_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:362)
at javax.naming.InitialContext.lookup(Unknown Source)
at fuego.jndi.FaultTolerantContext.lookup(FaultTolerantContext.java:515)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:116)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:107)
at fuego.ejb.EJBConnector.getEJBHome(EJBConnector.java:62)
at fuego.ejb.EJBConnector.getEJBHome(EJBConnector.java:52)
at fuego.ejb.EJBConnector.getResource(EJBConnector.java:101)
at fuego.ejb.EJBConnector.getResource(EJBConnector.java:91)
at fuego.ejb.EJBConnector.getResource(EJBConnector.java:79)
at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:276)
at fuego.connector.EJBHelper.getEJBHome(EJBHelper.java:36)
at fuego.connector.EJBHelper.getEJBHome(EJBHelper.java:30)
at fuego.ejb.EJBHome.locate(EJBHome.java:119)
at OrderManagement.SampleOrderProcess.Default_1_0.Instance.CIL_submitOrder(Instance.xcdl:1)
at OrderManagement.SampleOrderProcess.Default_1_0.Instance.CIL_submitOrder(Instance.xcdl)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:512)
what i noticed here is in Oracle BPM Studio there is weblogic jar file which contains Kernel status file. The KernelStatus file do not have "isThinIIOPClient method". But in wlclient jar file there is Kernel status class which contains "isThinIIOPClient" method.
How can I override the weblogic.jar and wlclient.jar for Oracle BPM?
Please help me to resolve this problem.
Thanks and Regards
Mahesh BabuI resolved the above issue by generating ejb2.1 session bean and ejb2.1 client. But When i tried to invoke ejb2.1 session bean from process using Process Business Language, it throws the following exception.
Task failed.
Caused by: Task '0' in activity '/SampleOrderProcess#Default-1.0/Interactive[SubmitOrder]' for instance '/SampleOrderProcess#Default-1.0/1/0' could not be successfully executed. The task failed while executing method 'submitOrder'.
Caused by: The method 'CIL_submitOrder' from class 'OrderManagement.SampleOrderProcess.Default_1_0.Instance' could not be successfully executed.
Caused by: java.lang.IncompatibleClassChangeError
Caused by: fuego.lang.ComponentExecutionException: The method 'CIL_submitOrder' from class 'OrderManagement.SampleOrderProcess.Default_1_0.Instance' could not be successfully executed.
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:519)
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:273)
at fuego.fengine.FEEngineExecutionContext.invokeMethodAsCil(FEEngineExecutionContext.java:219)
at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
at fuego.server.execution.TaskExecution.invoke(TaskExecution.java:401)
at fuego.server.execution.InteractiveNormalCilExecution.invoke(InteractiveNormalCilExecution.java:425)
at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:513)
at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:697)
at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:657)
at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:154)
at fuego.server.execution.microactivity.InteractiveMicroActivity.executeNormalCil(InteractiveMicroActivity.java:501)
at fuego.server.execution.microactivity.InteractiveMicroActivity.executeItem(InteractiveMicroActivity.java:454)
at fuego.server.execution.microactivity.InteractiveMicroActivity.execute(InteractiveMicroActivity.java:104)
at fuego.server.AbstractProcessBean$48.execute(AbstractProcessBean.java:3184)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3188)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
at fuego.lang.JavaObject.invoke(JavaObject.java:227)
at fuego.component.Message.process(Message.java:585)
at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
Caused by: java.lang.IncompatibleClassChangeError
at OrderManagement.SampleOrderProcess.Default_1_0.Instance.CIL_submitOrder(Instance.xcdl:5)
at OrderManagement.SampleOrderProcess.Default_1_0.Instance.CIL_submitOrder(Instance.xcdl)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:512)
... 34 more
Please help me to resolve this issue.
Thanks and Regards
Mahesh Babu -
Difference b/w Java Class and Bean class
hi,
can anybody please tell me the clear difference between ordinary java class and java Bean class. i know that bean is also a java class but i donno the exact difference between the both.
can anybody please do help me in understanding the concept behind the bean class.
Thank u in advance.
Regards,
FazlinaWhile researching this question, I came across this answer by Kim Fowler. I think it explains it better than any other answer I have seen in the forum.
Many thanks Kim
Hi
Luckily in the java world the definition of components is a little
less severe than when using COM (I also have, and still occasionaly
do, worked in the COM world)
Firstly there are two definitions that need to be clarified and
separated: JavaBean and EnterpriseJavaBean (EJB)
EJB are the high end, enterprise level, support for distributed
component architectures. They are roughly equivalent to the use of MTS
components in the COM/ COM+ world. They can only run within an EJB
server and provide support, via the server, for functionality such as
object pooling, scalability, security, transactions etc. In order to
hook into this ability EJB have sets of interfaces that they are
required to support
JavaBeans are standard Java Classes that follow a set of rules:
a) Hava a public, no argument constructor
b) follow a naming patterns such that all accessor and modifier
functions begin with set/ get or is, e.g.
public void setAge( int x)
public int getAge()
The system can then use a mechanism known as 'reflection/
introspection' to determine the properties of a JavaBean, literally
interacting with the class file to find its method and constructor
signatures, in the example above the JavaBean would end with a single
property named 'age' and of type 'int' The system simply drops the
'set' 'get' or 'is' prefix, switches the first letter to lower case
and deduces the property type via the method definition.
Event support is handled in a similar manner, the system looks for
methods similar to
addFredListener(...)
addXXXListener
means the JavaBean supports Fred and XXX events, this information is
particularly useful for Visual builder tools
In addition there is the abiliity to define a "BeanInfo' class that
explicitly defines the above information giving the capability to hide
methods, change names etc. this can also be used in the case where you
cannot, for one reason or another, use the naming patterns.
Finally the JavaBean can optionally - though usually does - support
the Serializable interface to allow persistence of state.
As well as standard application programming, JavaBeans are regularly
used in the interaction between Servlets and JSP giving the java
developer the ability to ceate ojbect using standard java whilst the
JSP developer can potentially use JSP markup tags to interact in a
more property based mechanism. EJB are heaviliy used in Enterprise
application to allow the robust distribution of process
HTH.
Kim -
Database and ejb access in Input Processor, custom Validator
Hi guys,
I know the Portal docs recommend that database and ejb calls should be done in
a Pipeline Component. Are transactions the only concern?
I'd like to validate two fields. This can be easily accomplished by a an ejb
method call that returns a boolean for one, and by running a simple select statement
for the other. Are there any risks to creating custom validator classes to do
this?
ThanksDavid,
Here are the characterstics of Pipelines and IPs:
Inputprocessors:
- Web App scope (classloaded by webapp classloader)
- simple java class
Pipelines/Pipeline Components:
- Enterprise App scope (available to all webapps)
- java class or EJB
- can be transactional (can even rollback PipelineSession)
- Pipelines executed from within the EJB container
There is nothing illegal about putting EJB calls and JDBC calls into an Inputprocessor.
For simple validation, this is probably okay. However, when doing heavy business
logic, having the Pipeline manage a single transaction for your PCs is wonderful.
PJL
"David Sun" <[email protected]> wrote:
>
Hi guys,
I know the Portal docs recommend that database and ejb calls should be
done in
a Pipeline Component. Are transactions the only concern?
I'd like to validate two fields. This can be easily accomplished by
a an ejb
method call that returns a boolean for one, and by running a simple select
statement
for the other. Are there any risks to creating custom validator classes
to do
this?
Thanks
Maybe you are looking for
-
after connecting my hard disk to a windows laptop all my files have somehow converted to .ink files and are not accessible.....what do i do?
-
Disabling hot keys like "ALT+F4" using register RegisterHotKey(..) function and wndproc(..) function in c# windows application is not working as expected in few cases. Below is the description. I am using C# Web Browser control in windows application
-
So if the title is not clear, im really stuck. i got Kontakt 2 and the EWQL sound sets the other day from my uncle and I've been trying them out in logic. My problem is, that in my full orchestral piece, I have a violin 1 which plays pizz at the star
-
Updating to 10.5.1 if iCloud not Used?
I neither need nor want a wireless network, and have decided not to use iCloud. Would there be any point to updating to iTunes 10.5.1? If I did so, are there options during installation not to turn on iCloud or sign up for Match? I am assuming tha
-
Audio doesn't switch to headphones when one is inserted (Chromeboo​k 2)
How do I switch the audio to be output to headphones instead of the speakers? In all my previous laptops I just had to insert the headphones into the jack, and the audio would automatically switch. Not the case with the new CB3-B3340 chromebook 2.