| Title: OpenEJB 1.0 Beta 1 |
| |
| * Release Date: August 28th, 2005 |
| |
| <a name="OpenEJB1.0Beta1-Download"></a> |
| # Download |
| |
| * Binary: openejb-1.0-beta1 \{[zip](http://openejb.codehaus.org/dist/openejb-1.0-beta1.zip) |
| , [tar.gz|http://openejb.codehaus.org/dist/openejb-1.0-beta1.tar.gz] |
| \} |
| * Source: openejb-1.0-beta1-src \{[zip](http://openejb.codehaus.org/dist/openejb-1.0-beta1-src.zip) |
| , [tar.gz|http://openejb.codehaus.org/dist/openejb-1.0-beta1-src.tar.gz] |
| , [browse|http://cvs.codehaus.org/viewrep/~tag=v1_0beta1/openejb/openejb1] |
| \} |
| * Updated [ejb-testing-examples.zip](http://www.openejb.org/1.0-beta1/ejb-testing-examples.zip) |
| for the [Container Driven Testing Series|http://www.theserverside.com/articles/article.tss?l=ContainerDrivenTestingSeries] |
| on TheServerSide.com |
| |
| {warning:title=Windows Users} |
| Use the Latest Unstable, this release will not work for windows users |
| {warning} |
| |
| <a name="OpenEJB1.0Beta1-NewFeatures"></a> |
| # New Features |
| |
| <a name="OpenEJB1.0Beta1-EJB2.0Localinterfacesupport"></a> |
| ## EJB 2.0 Local interface support |
| |
| OpenEJB now has support for EJB 2.0 Local Interfaces. This is very nice |
| for when OpenEJB is combined with Tomcat or embedded in another |
| application where Remote interfaces are not always needed. See the |
| "Moviefun" example in the source or binary distributions for how to use |
| them. Note that no other EJB 2.0 features (such as CMP 2 or MDBs) |
| are supported in the OpenEJB 1.x codebase. |
| |
| <a name="OpenEJB1.0Beta1-CollapsedEARsupport"></a> |
| ## Collapsed EAR support |
| |
| [Collapsed EAR](collapsed-ear.html) |
| s are an OpenEJB invention allowing you to combine your ejbs and servlets |
| in the same archive and classloader. This is essentially a new way to |
| embed OpenEJB into Tomcat so that OpenEJB and your EJBs are loaded only |
| into your webapp. Combine this with an embedded database and you have a |
| complete mini-J2EE environment that can be hosted in your Tomcat webapp |
| space. |
| |
| See the "Moviefun" example in the distribution which will be online for |
| a short while here: |
| |
| [http://demo1.openejb.org/moviefun](http://demo1.openejb.org/moviefun) |
| |
| (visit [http://demo1.openejb.org/moviefun/setup.jsp](http://demo1.openejb.org/moviefun/setup.jsp) |
| to reset) |
| |
| <a name="OpenEJB1.0Beta1-UnpackedEJBJarsupport"></a> |
| ## Unpacked EJB Jar support |
| |
| It is now possible to deploy and run EJB apps that are not in a *.jar |
| archive. For example, for ejb app located at: |
| |
| bq. /home/jsmith/myejbapp/META-INF/ejb-jar.xml |
| |
| Simply add a Deployments declaration to the openejb.conf like the |
| following: |
| |
| bq. <Deployment dir="/home/jsmith/myejbapp" /> |
| |
| <a name="OpenEJB1.0Beta1-AutoDeployforSimpleApps"></a> |
| ## Auto Deploy for Simple Apps |
| |
| In OpenEJB 1.0 beta1, the use of openejb-jar.xml is not required for |
| ejb-jar.xml files that do not contain CMP EntityBeans or ejbs with |
| multiple datasource references. |
| |
| <a name="OpenEJB1.0Beta1-MacOSXUsers"></a> |
| ## Mac OSX Users |
| |
| The speed of the Remote Server has been improved tremendously to |
| compensate for differing default parameters for TCP Socket creation and |
| closing in the Mac OSX Java VM. This makes sequential calls from a Remote |
| Client to the Server several times faster. |
| |
| |
| <a name="OpenEJB1.0Beta1-UpgradeNotes"></a> |
| # Upgrade Notes |
| |
| <a name="OpenEJB1.0Beta1-CMPconfigchange"></a> |
| ## CMP config change |
| |
| In 0.9.2 and before, the JDO database was using the private JNDI namespace |
| of the very first CMP accessed to grab a datasource and hold onto it for |
| use on all requests into the CMP container. This was configured with |
| something like this: |
| |
| <database name="Global_TX_Database" engine="instantdb"> |
| <jndi name="java:comp/env/jdbc/basic/entityDatabase" /> |
| <mapping href="conf/default.cmp_mapping.xml" /> |
| </database> |
| |
| |
| This was just wrong. We've switched it so that the "jndi" tag of a Castor |
| database.xml file can be set directly to the global JNDI name of a |
| Connector element declared in an openejb.conf file. |
| |
| <database name="Global_TX_Database" engine="instantdb"> |
| <jndi name="java:openejb/connector/Default JDBC Database" /> |
| <mapping href="conf/default.cmp_mapping.xml" /> |
| </database> |
| |
| |
| This is still not so optimal as we do not want to people using OpenEJB's |
| internal jndi and encourage people to become dependent on it. Newer |
| releases of Castor allow for a completely programmatic way to configure a |
| JDO database. In future releases, these global and local database files |
| will go away all together! You will only need to specify your mapping.xml |
| and will be able to pack it in your ejb jar. |
| |
| <a name="OpenEJB1.0Beta1-ClassLoaderchange"></a> |
| ## ClassLoader change |
| |
| In 0.9.2 all EJBs were added to the same classloader as the Containers, |
| Server and all the other EJBs. In 1.0 beta1, all the EJBs are still in the |
| same classloader, but one that is a child of the Container and Server. |
| The code to keep each EJB jar in it's own classloader does exist, but |
| limitations in the way we configure the CMP container with Castor prevent |
| us from using it. When the CMP change made above is fixed, we will support |
| separate classloaders for each EJB jar as an option. |
| |
| <a name="OpenEJB1.0Beta1-Changelog"></a> |
| # Changelog |
| |
| {jiraissues:url=http://jira.codehaus.org/secure/IssueNavigator.jspa?view=rss&pid=10401&fixfor=11983&sorter/field=issuekey&sorter/order=DESC&reset=true&decorator=none|columns=key,summary} |