Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 1 | |
| 2 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 3 | <HTML> |
| 4 | |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 5 | <!-- Mirrored Site: felix.apache.org. File: /site/architecture-handler.html. Date: Mon, 13 Oct 2008 06:53:07 GMT --> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 6 | <HEAD> |
| 7 | <TITLE>Apache Felix - Architecture Handler</TITLE> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 8 | <LINK rel="stylesheet" href="media.data/site.css" type="text/css" media="all"> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 9 | <META http-equiv="Content-Type" content="text/html;charset=UTF-8"> |
| 10 | </HEAD> |
| 11 | <BODY> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 12 | <DIV class="title"><DIV class="logo"><A href="index.html"><IMG border="0" alt="Apache Felix" src="media.data/logo.png"></A></DIV><DIV class="header"><A href="http://www.apache.org/"><IMG border="0" alt="Apache" src="media.data/apache.png"></A></DIV></DIV> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 13 | <DIV class="menu"> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 14 | <UL> |
| 15 | <LI><A href="news.html" title="news">news</A></LI> |
| 16 | <LI><A href="license.html" title="license">license</A></LI> |
| 17 | <LI><SPAN class="nobr"><A href="downloads.html" title="Visit page outside Confluence" rel="nofollow">downloads<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> |
| 18 | <LI><A href="documentation.html" title="documentation">documentation</A></LI> |
| 19 | <LI><A href="mailinglists.html" title="mailinglists">mailing lists</A></LI> |
| 20 | <LI><A href="contributing.html" title="Contributing">contributing</A></LI> |
| 21 | <LI><SPAN class="nobr"><A href="http://www.apache.org/" title="Visit page outside Confluence" rel="nofollow">asf<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> |
| 22 | <LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/sponsorship.html" title="Visit page outside Confluence" rel="nofollow">sponsorship<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> |
| 23 | <LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/thanks.html" title="Visit page outside Confluence" rel="nofollow">sponsors<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 24 | <!-- ApacheCon Ad --> |
| 25 | <IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME> |
| 26 | <P style="height: 100px"> |
| 27 | <!-- ApacheCon Ad --></LI> |
| 28 | </UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 29 | </DIV> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 30 | <DIV class="main"> |
| 31 | <TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><TBODY><TR> |
| 32 | <TD class="confluenceTd" valign="top" width="80%"> |
| 33 | <H1><A name="ArchitectureHandler-IntrospectionandArchitecture"></A>Introspection and Architecture</H1> |
| 34 | |
| 35 | <P>The architecture feature allows obtaining an architectural / component view of your systems. It exposes a snapshot of the present instances & factories, the state of these instances ...<BR> |
| 36 | Moreover; iPOJO defines an 'arch' command displaying this architecture in Felix. You need to install the arch command bundle available in the Felix trunk.</P> |
| 37 | |
| 38 | <H2><A name="ArchitectureHandler-Reflectiononthecomponent"></A>Reflection on the component</H2> |
| 39 | |
| 40 | <P>The architecture feature does "reflection" on the iPOJO containers. It gathers information about the component (state, class name ...), requirement (state, multiple, optional ...), provided services (state, properties) ... Each handler can participate to the architecture. This information allows you to know why an instance does not start, or why the component does not publish / provide a service.</P> |
| 41 | |
| 42 | <H2><A name="ArchitectureHandler-Metadata"></A>Metadata</H2> |
| 43 | |
| 44 | <P>The architecture (i.e. instance introspection) is activated by default. To disable it, you need to add an attribute <EM>"architecture=false"</EM> to the component element:</P> |
| 45 | <DIV class="code"><DIV class="codeContent"> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 46 | <PRE class="code-xml"><SPAN class="code-tag"><component classname=<SPAN class="code-quote">"fr.imag.adele.escoffier.hello.impl.HelloServiceImpl"</SPAN> architecture=<SPAN class="code-quote">"false"</SPAN>></SPAN></PRE> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 47 | </DIV></DIV> |
| 48 | <P>By default, the architecture feature is enabled.</P> |
| 49 | |
| 50 | <H2><A name="ArchitectureHandler-The%22arch%22command"></A>The "arch" command</H2> |
| 51 | |
| 52 | <P>A Felix command comes with the architecture handler. This command looks for all component exposing the architecture and print the information.</P> |
| 53 | <DIV class="code"><DIV class="codeContent"> |
| 54 | <PRE class="code-java">arch => displays instances name & state (equivalent to arch \-instances) |
| 55 | arch -instance $instance_name => displays complete information about the instance $instance_name |
| 56 | arch -factories => display the list of available factories |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 57 | arch -factory $factory_name => display complete information about the factory $factory_name |
| 58 | arch -handlers => list available handlers</PRE> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 59 | </DIV></DIV> |
| 60 | <H2><A name="ArchitectureHandler-Technicalinformation"></A>Technical information</H2> |
| 61 | |
| 62 | <P>In fact, when a component enables the architecture introspection, its container exposes an Architecture service. Any architecture requester can obtain information about the instance. For example, the arch command requests all the architecture services and prints the information.</P> |
| 63 | </TD> |
| 64 | <TD class="confluenceTd" valign="top" width="20%"> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 65 | <H6><A name="ArchitectureHandler-Overview"></A><B>Overview</B></H6> |
| 66 | <UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 67 | <LI><A href="apache-felix-ipojo.html" title="Apache Felix iPOJO">Home Page</A></LI> |
| 68 | <LI><A href="apache-felix-ipojo-feature-overview.html" title="Apache Felix iPOJO Feature Overview">iPOJO Feature Overview</A></LI> |
| 69 | <LI><A href="download.html" title="Download">Download & Install </A></LI> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 70 | </UL> |
| 71 | |
| 72 | |
| 73 | <H6><A name="ArchitectureHandler-GettingStarted"></A><B>Getting Started</B></H6> |
| 74 | <UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 75 | <LI><A href="ipojo-in-10-minutes.html" title="iPOJO in 10 minutes">iPOJO in 10 minutes</A></LI> |
| 76 | <LI><A href="ipojo-hello-word-maven-based-tutorial.html" title="iPOJO Hello Word (Maven-Based) tutorial">iPOJO Hello Word (Maven-Based) tutorial</A></LI> |
| 77 | <LI><A href="ipojo-advanced-tutorial.html" title="iPOJO Advanced Tutorial">iPOJO Advanced Tutorial</A></LI> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 78 | </UL> |
| 79 | |
| 80 | |
| 81 | <H6><A name="ArchitectureHandler-UserGuide"></A><B>User Guide</B></H6> |
| 82 | <UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 83 | <LI><A href="describing-components.html" title="Describing components">Describing components (handler list) </A></LI> |
| 84 | <LI><A href="how-to-use-ipojo-annotations.html" title="How to use iPOJO Annotations">How to use iPOJO Annotations</A></LI> |
| 85 | <LI><A href="using-xml-schemas.html" title="Using XML Schemas">Using XML Schemas</A></LI> |
| 86 | <LI><A href="ipojo-advanced-topics.html" title="iPOJO Advanced Topics">Advanced Topics</A></LI> |
| 87 | <LI><A href="ipojo-faq.html" title="iPOJO FAQ">FAQ</A></LI> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 88 | </UL> |
| 89 | |
| 90 | |
| 91 | <H6><A name="ArchitectureHandler-Tools"></A><B>Tools</B></H6> |
| 92 | <UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 93 | <LI><A href="ipojo-eclipse-plug-in.html" title="iPOJO Eclipse Plug-in">iPOJO Eclipse Plug-in</A></LI> |
| 94 | <LI><A href="ipojo-ant-task.html" title="iPOJO Ant Task">iPOJO Ant Task</A></LI> |
| 95 | <LI><A href="ipojo-maven-plug-in.html" title="iPOJO Maven Plug-in">iPOJO Maven Plug-in</A></LI> |
| 96 | <LI><A href="ipojo-concepts-overview.html" title="iPOJO Concepts Overview">iPOJO concepts overview</A></LI> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 97 | </UL> |
| 98 | |
| 99 | |
| 100 | <H6><A name="ArchitectureHandler-DeveloperGuide"></A><B>Developer Guide</B></H6> |
| 101 | <UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 102 | <LI>API: <SPAN class="nobr"><A href="http://people.apache.org/~clement/ipojo/api/0.8/" title="Visit page outside Confluence" rel="nofollow">0.8<SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI> |
| 103 | <LI><A href="how-to-write-your-own-handler.html" title="How to write your own handler">How to write your own handler</A></LI> |
| 104 | <LI><A href="how-to-use-ipojo-manipulation-metadata.html" title="How to use iPOJO Manipulation Metadata">How to use iPOJO Manipulation Metadata</A></LI> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 105 | </UL> |
| 106 | |
| 107 | |
| 108 | <H6><A name="ArchitectureHandler-Misc%26Contact"></A><B>Misc & Contact</B></H6> |
| 109 | <UL> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 110 | <LI><A href="apache-felix-ipojo-issuestracker.html" title="apache-felix-ipojo-issuestracker">Issues Tracker</A></LI> |
| 111 | <LI><A href="apache-felix-ipojo-supportedvms.html" title="apache-felix-ipojo-supportedVMs">Supported JVMs</A></LI> |
| 112 | <LI><A href="apache-felix-ipojo-supportedosgi.html" title="apache-felix-ipojo-supportedOSGi">Supported OSGi Implementations</A></LI> |
| 113 | <LI><A href="future-ideas.html" title="Future Ideas">Future Ideas</A></LI> |
| 114 | <LI><A href="contact.html" title="Contact">Contact</A></LI> |
| 115 | <LI><A href="related-works.html" title="Related Works">Related Works</A></LI> |
| 116 | <LI><A href="article-presentations.html" title="Article & Presentations">Article & Presentations</A></LI> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 117 | </UL> |
| 118 | |
| 119 | |
| 120 | <HR> |
| 121 | <DIV class="" align="center"> |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 122 | <P><SPAN class="nobr"><A href="http://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&statuses=created&statuses=modified&spaces=FELIX&labelString=iPOJO&rssType=atom&maxResults=10&timeSpan=5&publicFeed=true&title=iPOJO%20Atom%20Feed" title="Stay tuned!" rel="nofollow"><IMG src="../../cwiki.apache.org/confluence/images/icons/feed-icon-32x32.png" align="absmiddle" border="0"><SUP><IMG class="rendericon" src="../../cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P></DIV></TD></TR></TBODY></TABLE> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 123 | </DIV> |
| 124 | </BODY> |
| 125 | |
Clement Escoffier | 8350751 | 2008-10-13 07:33:03 +0000 | [diff] [blame] | 126 | <!-- Mirrored Site: felix.apache.org. File: /site/architecture-handler.html. Date: Mon, 13 Oct 2008 06:53:07 GMT --> |
Clement Escoffier | 6b928e9 | 2008-05-16 20:33:54 +0000 | [diff] [blame] | 127 | </HTML> |