| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html> |
| <head> |
| <link type="text/css" rel="stylesheet" href="http://aries.apache.org/resources/site.css"></link> |
| </script><script src="http://aries.apache.org/resources/menus.js" language="javascript" type="text/javascript"></script> |
| <meta name="keywords" content="..."/> |
| <meta name="description" content="..." /> |
| <title> |
| Apache Aries - Blog Sample |
| </title> |
| </head> |
| <body onload="SetMenu()"> |
| |
| <table width="100%" cellpadding="0" cellspacing="0"> |
| <tr width="100%"> |
| <td id="cell-0-0" colspan="2"> </td> |
| <td id="cell-0-1"> </td> |
| <td id="cell-0-2" colspan="2"> </td> |
| </tr> |
| <tr width="100%"> |
| <td id="cell-1-0"> </td> |
| <td id="cell-1-1"> </td> |
| <td id="cell-1-2"> |
| <div style="padding: 5px;"> |
| <div id="banner"> |
| <!-- Banner --> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr> |
| <td align="left" class="topbardiv" nowrap=""> |
| <a href="http://aries.apache.org/" title="Apache Aries"> <img border="0" src="http://aries.apache.org/images/Arieslogo_Horizontal.gif"> </a> |
| </td> |
| <td align="right" nowrap=""> |
| <a href="http://www.apache.org/" title="The Apache Software Foundation"> <img border="0" src="http://aries.apache.org/images/apache_feather.png"> </a> |
| </td> |
| </tr> |
| </table> |
| <!-- Banner --> |
| </div> |
| </div> |
| <div id="top-menu"> |
| <table border="0" cellpadding="1" cellspacing="0" width="100%"> |
| <tr> |
| <td> |
| <div align="left"> |
| <!-- Breadcrumbs --> |
| <!-- Breadcrumbs --> |
| </div> |
| </td> |
| <td> |
| <div align="right"> |
| <!-- Quicklinks --> |
| <DIV style="padding: 5px 5px 0px 25px;"> |
| <FORM action="http://www.google.com/search" method="get" style="font-size: 10px;"> |
| <A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> |
| <INPUT name="ie" type="hidden" value="UTF-8"></INPUT> |
| <INPUT name="oe" type="hidden" value="UTF-8"></INPUT> |
| <INPUT maxlength="255" name="q" size="15" type="text" value></INPUT> |
| <INPUT name="btnG" type="submit" value="Search"></INPUT> |
| <INPUT name="domains" type="hidden" value="aries.apache.org"></INPUT> |
| <INPUT name="sitesearch" type="hidden" value="aries.apache.org"></INPUT> |
| </FORM> |
| </DIV> |
| <!-- Quicklinks --> |
| </div> |
| </td> |
| </tr> |
| </table> |
| </div> |
| </td> |
| <td id="cell-1-3"> </td> |
| <td id="cell-1-4"> </td> |
| </tr> |
| <tr width="100%"> |
| <td id="cell-2-0" colspan="2"> </td> |
| <td id="cell-2-1"> |
| <table> |
| <tr height="100%" valign="top"> |
| <td height="100%"> |
| <div id="wrapper-menu-page-right"> |
| <div id="wrapper-menu-page-top"> |
| <div id="wrapper-menu-page-bottom"> |
| <div id="menu-page"> |
| <!-- NavigationBar --> |
| <div onclick="SwitchMenu('overview')" id="overviewTitle" class="menutitle">Overview</div> |
| <div id="overview" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="/overview/boardreports.html">Board Reports</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/overview/news.html">News</a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('documentation')" id="documentationTitle" class="menutitle">Documentation</div> |
| <div id="documentation" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="/documentation/ariesprogrammingmodel.html">Programming Model</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/documentation/pointerstoosgispecifications.html">Pointers to OSGi specs</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/documentation/integrators-guide.html">Integrators Guide</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/documentation/articles.html">Articles</a> |
| </div> |
| <div class="menuitem"> |
| <a href="https://svn.apache.org/repos/asf/aries/slides/">Slides</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/documentation/tutorials.html">Tutorials</a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('downloads')" id="downloadsTitle" class="menutitle">Downloads</div> |
| <div id="downloads" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="/downloads/currentrelease.html">Current Release</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/downloads/testresults.html">Compliance Tests</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/downloads/releasenotes.html">Release Notes</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/downloads/archived-releases.html">Archived Releases</a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('community')" id="communityTitle" class="menutitle">Community</div> |
| <div id="community" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="/community/overview.html">Community</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/community/gettinginvolved.html">Getting Involved</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/community/people.html">Who we are</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/community/mailinglists.html">Mailing lists</a> |
| </div> |
| <div class="menuitem"> |
| <a href="http://blogs.apache.org/aries/">Aries Group Blog</a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('development')" id="developmentTitle" class="menutitle">Development</div> |
| <div id="development" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="https://svn.apache.org/repos/asf/aries/">Source Control</a> |
| </div> |
| <div class="menuitem"> |
| <a href="https://issues.apache.org/jira/browse/ARIES">Bug Tracking</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/development/buildingaries.html">Building Aries </a> |
| </div> |
| <div class="menuitem"> |
| <a href="/development/maven-best-practice-in-aries.html">Maven best practice</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/development/moduledependencies.html">Module Dependencies</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/development/releasingaries.html">Releasing Aries </a> |
| </div> |
| <div class="menuitem"> |
| <a href="/development/compliancetesting.html">OSGi Compliance Tests </a> |
| </div> |
| <div class="menuitem"> |
| <a href="http://hudson.zones.apache.org/hudson/">Build System</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/development/maintainingthewebpages.html">Web Site Maintenance </a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('modules')" id="modulesTitle" class="menutitle">Modules</div> |
| <div id="modules" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="/modules/samples.html">Samples</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/blueprint.html">Blueprint</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/jndiproject.html">JNDI</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/jpaproject.html">JPA</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/applications.html">Applications</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/transactionsproject.html">Transactions</a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/ebamavenpluginproject.html">EBA Maven Plugin </a> |
| </div> |
| <div class="menuitem"> |
| <a href="/modules/spi-fly.html">SPI Fly</a> |
| </div> |
| </div> |
| <div onclick="SwitchMenu('sponsorship')" id="sponsorshipTitle" class="menutitle">Sponsorship</div> |
| <div id="sponsorship" class="menuitemgroup"> |
| <div class="menuitem"> |
| <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
| </div> |
| <div class="menuitem"> |
| <a href="http://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a> |
| </div> |
| </div> |
| <!-- NavigationBar --> |
| </div> |
| </div> |
| </div> |
| </div> |
| </td> |
| <td height="100%" width="100%"> |
| <!-- Content --> |
| <div class="wiki-content"><p><a name="BlogSample-TheBlogSample"></a></p> |
| <h1 id="the_blog_sample">The Blog Sample</h1> |
| <p><a name="BlogSample-RunningtheBlogSample"></a></p> |
| <h2 id="running_the_blog_sample">Running the Blog Sample</h2> |
| <br> |
| |
| <hr /> |
| <p><strong>Note:</strong> |
| These instructions are for the 0.2-incubating release of Aries. |
| In the 0.2-incubating release the sample was changed to use an in-memory |
| database to avoid dependency on an explicit version of Derby. If you would |
| prefer to use a database on disk check the instructions for the |
| 0.1-incubating release. You will also need to modify datasource.xml (under |
| blog-datasource) as indicated in the comments and then rebuild the sample.</p> |
| <hr /> |
| <p><a name="BlogSample-CreatetheOSGiplatformfortheBlogsample"></a></p> |
| <h3 id="create_the_osgi_platform_for_the_blog_sample">Create the OSGi platform for the Blog sample</h3> |
| <p>Download and unzip the source zip for the <a href="aries:downloads.html">latest release</a> |
| of Aries Samples and build the blog-assembly module:</p> |
| <div class="codehilite"><pre><span class="n">cd</span> <span class="n">samples</span><span class="o">-</span><span class="mf">0.2</span><span class="o">-</span><span class="n">incubating</span><span class="sr">/blog/</span><span class="n">blog</span><span class="o">-</span><span class="n">assembly</span> |
| <span class="n">mvn</span> <span class="n">install</span> |
| </pre></div> |
| |
| |
| <p>This procedure will pull in the binaries from the latest release and its |
| dependencies.</p> |
| <p><a name="BlogSample-RunningtheBlogsample"></a></p> |
| <h3 id="running_the_blog_sample_1">Running the Blog sample</h3> |
| <p>Download the JDBC based Blog sample application (.eba file) from the <a href="aries:downloads.html">latest release</a> |
| . Change directory to the blog-assembly target directory:</p> |
| <div class="codehilite"><pre><span class="n">cd</span> <span class="n">samples</span><span class="o">-</span><span class="mf">0.2</span><span class="o">-</span><span class="n">incubating</span><span class="sr">/blog-sample/</span><span class="n">blog</span><span class="o">-</span><span class="n">assembly</span><span class="o">/</span><span class="n">target</span> |
| </pre></div> |
| |
| |
| <p>now start Aries in an OSGi framework (we're using Eclipse Equinox in this |
| case)</p> |
| <div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">jar</span> <span class="n">osgi</span><span class="o">-</span><span class="mf">3.5.0</span><span class="o">.</span><span class="n">v20090520</span><span class="o">.</span><span class="n">jar</span> <span class="o">-</span><span class="n">console</span> |
| </pre></div> |
| |
| |
| <p>The OSGi console should start up, the 'ss' command should show all of the |
| Blog bundles in state 'ACTIVE'.</p> |
| <p>Now start the blog application (.eba file) you downloaded earlier, by |
| copying it into the load directory which was created when Aries started.</p> |
| <p>Point your browser to <a href="http://localhost:8080/org.apache.aries.samples.blog.web/">http://localhost:8080/org.apache.aries.samples.blog.web/</a></p> |
| <p>If you subsequently delete the .eba from the load directory the application |
| will be uninstalled.</p> |
| <p><a name="BlogSample-RunningthesampleusingaJPApersistencelayer"></a></p> |
| <h3 id="running_the_sample_using_a_jpa_persistence_layer">Running the sample using a JPA persistence layer</h3> |
| <p>The first blog sample application was written to use a JDBC persistence |
| layer. There is a second application implemented to demonstrate the JPA |
| capability</p> |
| <p>To run the blog sample which uses the JPA persistence layer, start the OSGi |
| framework, remove any previous copies of the blog sample from the |
| target/load directory, then copy the Blog sample JPA .eba file into the |
| load directory.</p> |
| <p>Finally, after typing 'refresh' at the OSGi console, point your browser at <a href="http://localhost:8080/org.apache.aries.samples.blog.web/">http://localhost:8080/org.apache.aries.samples.blog.web/</a> |
| . You should see something that looks precisely the same as the blog sample |
| running with the JDBC persistence layer, but this time running using the |
| JPA persistence layer.</p> |
| <p><a name="BlogSample-Usingthelatest,unreleasedcode"></a></p> |
| <h2 id="using_the_latest_unreleased_code">Using the latest, unreleased code</h2> |
| <p>If you prefer to use the very latest code from subversion, checkout and |
| build the Aries trunk by following the <a href="aries:buildingaries.html">Building Aries instructions</a> |
| .</p> |
| <p><a name="BlogSample-AbouttheBlogsample"></a></p> |
| <h2 id="about_the_blog_sample">About the Blog sample</h2> |
| <p>The blog sample components can be visualised like this:</p> |
| <p>!BlogSample.png!</p></div> |
| <!-- Content --> |
| </td> |
| </tr> |
| </table> |
| </td> |
| <td id="cell-2-2" colspan="2"> </td> |
| </tr> |
| <tr width="100%"> |
| <td id="cell-3-0"> </td> |
| <td id="cell-3-1"> </td> |
| <td id="cell-3-2"> |
| <div id="footer"> |
| <!-- Footer --> |
| <div id="site-footer"> |
| <a href="http://aries.apache.org/privacy-policy.html";>Privacy |
| Policy</a> |
| </div> |
| <!-- Footer --> |
| </div> |
| </td> |
| <td id="cell-3-3"> </td> |
| <td id="cell-3-4"> </td> |
| </tr> |
| <tr width="100%"> |
| <td id="cell-4-0" colspan="2"> </td> |
| <td id="cell-4-1"> </td> |
| <td id="cell-4-2" colspan="2"> </td> |
| </tr> |
| </table> |
| </body> |
| </html> |