Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Wiki Markup
{span:style=float: right; margin-left: 20px;}
{html}

<object width="400" height="250"><param name="movie" value="http://www.youtube.com/v/g3lIPlegDJk?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/g3lIPlegDJk?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="250"></embed></object>

{html}
{span}

Wiki Markup
{div}
In this example we use the *@Resource* annotation to inject a *javax.sql.DataSource* into our bean.  The trickiest thing about injecting a DataSource is not declaring the annotation, but actually configuring the data source.

In OpenEJB the rules are quite simple.  An declaration like the following in code:

{code}
@Resource DataSource customerDataSource;
{code}

Matches a data source declared as follows in the openejb.xml file:

{code}
<Resource type="DataSource" id="customerDataSource">
 ....
</Resource>
{code}

As seen in this example, the data source can also be declared via properties as follows:
{code}
customerDataSource = new://Resource?type=DataSource
{code}

This style of properties creation can be used in the InitialContext properties, set into the System properties, or passed in on the command line as vm properties.

_The source for this example is in the "injection-of-datasource" directory located in the [openejb-examples.zip|OPENEJB:Download] available on the download page._
{div}
Wiki Markup
{div:style=clear:both;}{div}

The Code

Wiki Markup
{snippet:id=code|url=openejb3/examples/injection-of-datasource/src/main/java/org/superbiz/injection/MoviesImpl.java|lang=java}

...