ColdFusion 9.0 Resources |
cfobject: Java or EJB objectSyntax<cfobject class = "Java class" type = "Java" name = "instance name" action = "create"> Note: You can specify
this tag’s attributes in an attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.
See alsocfcollection, cfexecute, cfindex, IsInstanceOf, cfreport, cfsearch, cfwddx; Using Java objects in the Developing ColdFusion Applications Attributes
UsageTo call Java CFXs or Java objects, ColdFusion uses a Java Virtual Machine (JVM) that is embedded in the process. You can configure JVM loading, location, and settings in the ColdFusion Administrator. Any Java class available in the class path that is specified in the ColdFusion Administrator can be loaded and used from ColdFusion, by using the cfobject tag. Access Java methods and fields
Calling a public method on the object without first calling the init method results in an implicit call to the default constructor. Arguments and return values can be any Java type (simple, array, object). ColdFusion makes the conversions if strings are passed as arguments, but not if they are received as return values. Overloaded methods are supported if the number of arguments is different. Calling EJBsTo create and call EJB objects, use the cfobject tag. In the second example in the following section, the WebLogic JNDI is used to register and find EJBHome instances. Example<!--- Example of a Java Object, this cfobject call loads the class MyClass but does not create an instance object. Static methods and fields are accessible after a call to cfobject. ---> <cfobject action = "create" type = "java" class = "myclass" name = "myobj"> <!---- Example of an EJB - The cfobject tag creates the Weblogic Environment object, which is used to get InitialContext. The context object is used to look up the EJBHome interface. The call to Create() results in getting an instance of stateless session EJB. ---> <cfobject action = "create" type = "java" class = "weblogic/jndi/Environment" name = "wlEnv"> <cfset ctx = wlEnv.getInitialContext()> <cfset ejbHome = ctx.lookup("statelessSession.TraderHome")> <cfset trader = ejbHome.Create()> <cfset value = trader.shareValue(20, 55.45)> <cfoutput> Share value = #value# </cfoutput> <cfset value = trader.remove()> |