ejb-jar_3_1.xsd 116 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="http://java.sun.com/xml/ns/javaee"
  4. xmlns:javaee="http://java.sun.com/xml/ns/javaee"
  5. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  6. elementFormDefault="qualified"
  7. attributeFormDefault="unqualified"
  8. version="3.1">
  9. <xsd:annotation>
  10. <xsd:documentation>
  11. $Id$
  12. </xsd:documentation>
  13. </xsd:annotation>
  14. <xsd:annotation>
  15. <xsd:documentation>
  16. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  17. Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
  18. The contents of this file are subject to the terms of either the
  19. GNU General Public License Version 2 only ("GPL") or the Common
  20. Development and Distribution License("CDDL") (collectively, the
  21. "License"). You may not use this file except in compliance with
  22. the License. You can obtain a copy of the License at
  23. https://glassfish.dev.java.net/public/CDDL+GPL.html or
  24. glassfish/bootstrap/legal/LICENSE.txt. See the License for the
  25. specific language governing permissions and limitations under the
  26. License.
  27. When distributing the software, include this License Header
  28. Notice in each file and include the License file at
  29. glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
  30. particular file as subject to the "Classpath" exception as
  31. provided by Sun in the GPL Version 2 section of the License file
  32. that accompanied this code. If applicable, add the following
  33. below the License Header, with the fields enclosed by brackets []
  34. replaced by your own identifying information:
  35. "Portions Copyrighted [year] [name of copyright owner]"
  36. Contributor(s):
  37. If you wish your version of this file to be governed by only the
  38. CDDL or only the GPL Version 2, indicate your decision by adding
  39. "[Contributor] elects to include this software in this
  40. distribution under the [CDDL or GPL Version 2] license." If you
  41. don't indicate a single choice of license, a recipient has the
  42. option to distribute your version of this file under either the
  43. CDDL, the GPL Version 2 or to extend the choice of license to its
  44. licensees as provided above. However, if you add GPL Version 2
  45. code and therefore, elected the GPL Version 2 license, then the
  46. option applies only if the new code is made subject to such
  47. option by the copyright holder.
  48. Portions Copyrighted 2009 Red Hat
  49. Red Hat elects to include this software in this
  50. distribution under the GPL Version 2 license.
  51. </xsd:documentation>
  52. </xsd:annotation>
  53. <xsd:annotation>
  54. <xsd:documentation>
  55. <![CDATA[[
  56. This is the XML Schema for the EJB 3.1 deployment descriptor.
  57. All EJB deployment descriptors must indicate
  58. the schema by using the Java EE namespace:
  59. http://java.sun.com/xml/ns/javaee
  60. and by indicating the version of the schema by
  61. using the version element as shown below:
  62. <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
  63. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  64. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  65. http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
  66. version="3.1">
  67. ...
  68. </ejb-jar>
  69. The instance documents may indicate the published version of
  70. the schema using the xsi:schemaLocation attribute for the
  71. Java EE namespace with the following location:
  72. http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd
  73. ]]>
  74. </xsd:documentation>
  75. </xsd:annotation>
  76. <xsd:annotation>
  77. <xsd:documentation>
  78. The following conventions apply to all Java EE
  79. deployment descriptor elements unless indicated otherwise.
  80. - In elements that specify a pathname to a file within the
  81. same JAR file, relative filenames (i.e., those not
  82. starting with "/") are considered relative to the root of
  83. the JAR file's namespace. Absolute filenames (i.e., those
  84. starting with "/") also specify names in the root of the
  85. JAR file's namespace. In general, relative names are
  86. preferred. The exception is .war files where absolute
  87. names are preferred for consistency with the Servlet API.
  88. </xsd:documentation>
  89. </xsd:annotation>
  90. <xsd:include schemaLocation="javaee_6.xsd"/>
  91. <!-- **************************************************** -->
  92. <xsd:element name="ejb-jar"
  93. type="javaee:ejb-jarType">
  94. <xsd:annotation>
  95. <xsd:documentation>
  96. This is the root of the ejb-jar deployment descriptor.
  97. </xsd:documentation>
  98. </xsd:annotation>
  99. <xsd:key name="ejb-name-key">
  100. <xsd:annotation>
  101. <xsd:documentation>
  102. The ejb-name element contains the name of an enterprise
  103. bean. The name must be unique within the ejb-jar or
  104. .war file.
  105. </xsd:documentation>
  106. </xsd:annotation>
  107. <xsd:selector xpath="javaee:enterprise-beans/*"/>
  108. <xsd:field xpath="javaee:ejb-name"/>
  109. </xsd:key>
  110. <xsd:keyref name="ejb-name-references"
  111. refer="javaee:ejb-name-key">
  112. <xsd:annotation>
  113. <xsd:documentation>
  114. The keyref indicates the references from
  115. relationship-role-source must be to a specific ejb-name
  116. defined within the scope of enterprise-beans element.
  117. </xsd:documentation>
  118. </xsd:annotation>
  119. <xsd:selector xpath=".//javaee:ejb-relationship-role/javaee:relationship-role-source"/>
  120. <xsd:field xpath="javaee:ejb-name"/>
  121. </xsd:keyref>
  122. <xsd:key name="role-name-key">
  123. <xsd:annotation>
  124. <xsd:documentation>
  125. A role-name-key is specified to allow the references
  126. from the security-role-refs.
  127. </xsd:documentation>
  128. </xsd:annotation>
  129. <xsd:selector xpath="javaee:assembly-descriptor/javaee:security-role"/>
  130. <xsd:field xpath="javaee:role-name"/>
  131. </xsd:key>
  132. <xsd:keyref name="role-name-references"
  133. refer="javaee:role-name-key">
  134. <xsd:annotation>
  135. <xsd:documentation>
  136. The keyref indicates the references from
  137. security-role-ref to a specified role-name.
  138. </xsd:documentation>
  139. </xsd:annotation>
  140. <xsd:selector xpath="javaee:enterprise-beans/*/javaee:security-role-ref"/>
  141. <xsd:field xpath="javaee:role-link"/>
  142. </xsd:keyref>
  143. </xsd:element>
  144. <!-- **************************************************** -->
  145. <xsd:complexType name="access-timeoutType">
  146. <xsd:annotation>
  147. <xsd:documentation>
  148. The access-timeoutType represents the maximum amount of
  149. time (in a given time unit) that the container should wait for
  150. a concurrency lock before throwing a timeout exception to the
  151. client.
  152. A timeout value of 0 means concurrent access is not permitted.
  153. A timeout value of -1 means wait indefinitely to acquire a lock.
  154. </xsd:documentation>
  155. </xsd:annotation>
  156. <xsd:sequence>
  157. <xsd:element name="timeout"
  158. type="javaee:xsdIntegerType"/>
  159. <xsd:element name="unit"
  160. type="javaee:time-unit-typeType"/>
  161. </xsd:sequence>
  162. <xsd:attribute name="id"
  163. type="xsd:ID"/>
  164. </xsd:complexType>
  165. <!-- **************************************************** -->
  166. <xsd:complexType name="async-methodType">
  167. <xsd:annotation>
  168. <xsd:documentation>
  169. The async-methodType element specifies that a session
  170. bean method has asynchronous invocation semantics.
  171. </xsd:documentation>
  172. </xsd:annotation>
  173. <xsd:sequence>
  174. <xsd:element name="method-name"
  175. type="javaee:string"/>
  176. <xsd:element name="method-params"
  177. type="javaee:method-paramsType"
  178. minOccurs="0"/>
  179. </xsd:sequence>
  180. <xsd:attribute name="id"
  181. type="xsd:ID"/>
  182. </xsd:complexType>
  183. <!-- **************************************************** -->
  184. <xsd:complexType name="activation-configType">
  185. <xsd:annotation>
  186. <xsd:documentation>
  187. The activation-configType defines information about the
  188. expected configuration properties of the message-driven bean
  189. in its operational environment. This may include information
  190. about message acknowledgement, message selector, expected
  191. destination type, etc.
  192. The configuration information is expressed in terms of
  193. name/value configuration properties.
  194. The properties that are recognized for a particular
  195. message-driven bean are determined by the messaging type.
  196. </xsd:documentation>
  197. </xsd:annotation>
  198. <xsd:sequence>
  199. <xsd:element name="description"
  200. type="javaee:descriptionType"
  201. minOccurs="0"
  202. maxOccurs="unbounded"/>
  203. <xsd:element name="activation-config-property"
  204. type="javaee:activation-config-propertyType"
  205. maxOccurs="unbounded"/>
  206. </xsd:sequence>
  207. <xsd:attribute name="id"
  208. type="xsd:ID"/>
  209. </xsd:complexType>
  210. <!-- **************************************************** -->
  211. <xsd:complexType name="activation-config-propertyType">
  212. <xsd:annotation>
  213. <xsd:documentation>
  214. The activation-config-propertyType contains a name/value
  215. configuration property pair for a message-driven bean.
  216. The properties that are recognized for a particular
  217. message-driven bean are determined by the messaging type.
  218. </xsd:documentation>
  219. </xsd:annotation>
  220. <xsd:sequence>
  221. <xsd:element name="activation-config-property-name"
  222. type="javaee:xsdStringType">
  223. <xsd:annotation>
  224. <xsd:documentation>
  225. The activation-config-property-name element contains
  226. the name for an activation configuration property of
  227. a message-driven bean.
  228. For JMS message-driven beans, the following property
  229. names are recognized: acknowledgeMode,
  230. messageSelector, destinationType, subscriptionDurability
  231. </xsd:documentation>
  232. </xsd:annotation>
  233. </xsd:element>
  234. <xsd:element name="activation-config-property-value"
  235. type="javaee:xsdStringType">
  236. <xsd:annotation>
  237. <xsd:documentation>
  238. The activation-config-property-value element
  239. contains the value for an activation configuration
  240. property of a message-driven bean.
  241. </xsd:documentation>
  242. </xsd:annotation>
  243. </xsd:element>
  244. </xsd:sequence>
  245. <xsd:attribute name="id"
  246. type="xsd:ID"/>
  247. </xsd:complexType>
  248. <!-- **************************************************** -->
  249. <xsd:complexType name="around-invokeType">
  250. <xsd:annotation>
  251. <xsd:documentation>
  252. The around-invoke type specifies a method on a
  253. class to be called during the around invoke portion of an
  254. ejb invocation. Note that each class may have only one
  255. around invoke method and that the method may not be
  256. overloaded.
  257. If the class element is missing then
  258. the class defining the callback is assumed to be the
  259. interceptor class or component class in scope at the
  260. location in the descriptor in which the around invoke
  261. definition appears.
  262. </xsd:documentation>
  263. </xsd:annotation>
  264. <xsd:sequence>
  265. <xsd:element name="class"
  266. type="javaee:fully-qualified-classType"
  267. minOccurs="0"/>
  268. <xsd:element name="method-name"
  269. type="javaee:java-identifierType"/>
  270. </xsd:sequence>
  271. </xsd:complexType>
  272. <!-- **************************************************** -->
  273. <xsd:complexType name="around-timeoutType">
  274. <xsd:annotation>
  275. <xsd:documentation>
  276. The around-timeout type specifies a method on a
  277. class to be called during the around-timeout portion of
  278. a timer timeout callback. Note that each class may have
  279. only one around-timeout method and that the method may not
  280. be overloaded.
  281. If the class element is missing then
  282. the class defining the callback is assumed to be the
  283. interceptor class or component class in scope at the
  284. location in the descriptor in which the around-timeout
  285. definition appears.
  286. </xsd:documentation>
  287. </xsd:annotation>
  288. <xsd:sequence>
  289. <xsd:element name="class"
  290. type="javaee:fully-qualified-classType"
  291. minOccurs="0"/>
  292. <xsd:element name="method-name"
  293. type="javaee:java-identifierType"/>
  294. </xsd:sequence>
  295. </xsd:complexType>
  296. <!-- **************************************************** -->
  297. <xsd:complexType name="assembly-descriptorType">
  298. <xsd:annotation>
  299. <xsd:documentation>
  300. The assembly-descriptorType defines
  301. application-assembly information.
  302. The application-assembly information consists of the
  303. following parts: the definition of security roles, the
  304. definition of method permissions, the definition of
  305. transaction attributes for enterprise beans with
  306. container-managed transaction demarcation, the definition
  307. of interceptor bindings, a list of
  308. methods to be excluded from being invoked, and a list of
  309. exception types that should be treated as application exceptions.
  310. All the parts are optional in the sense that they are
  311. omitted if the lists represented by them are empty.
  312. Providing an assembly-descriptor in the deployment
  313. descriptor is optional for the ejb-jar or .war file producer.
  314. </xsd:documentation>
  315. </xsd:annotation>
  316. <xsd:sequence>
  317. <xsd:element name="security-role"
  318. type="javaee:security-roleType"
  319. minOccurs="0"
  320. maxOccurs="unbounded"/>
  321. <xsd:element name="method-permission"
  322. type="javaee:method-permissionType"
  323. minOccurs="0"
  324. maxOccurs="unbounded"/>
  325. <xsd:element name="container-transaction"
  326. type="javaee:container-transactionType"
  327. minOccurs="0"
  328. maxOccurs="unbounded"/>
  329. <xsd:element name="interceptor-binding"
  330. type="javaee:interceptor-bindingType"
  331. minOccurs="0"
  332. maxOccurs="unbounded"/>
  333. <xsd:element name="message-destination"
  334. type="javaee:message-destinationType"
  335. minOccurs="0"
  336. maxOccurs="unbounded"/>
  337. <xsd:element name="exclude-list"
  338. type="javaee:exclude-listType"
  339. minOccurs="0"/>
  340. <xsd:element name="application-exception"
  341. type="javaee:application-exceptionType"
  342. minOccurs="0"
  343. maxOccurs="unbounded"/>
  344. </xsd:sequence>
  345. <xsd:attribute name="id"
  346. type="xsd:ID"/>
  347. </xsd:complexType>
  348. <!-- **************************************************** -->
  349. <xsd:complexType name="cmp-fieldType">
  350. <xsd:annotation>
  351. <xsd:documentation>
  352. The cmp-fieldType describes a container-managed field. The
  353. cmp-fieldType contains an optional description of the field,
  354. and the name of the field.
  355. </xsd:documentation>
  356. </xsd:annotation>
  357. <xsd:sequence>
  358. <xsd:element name="description"
  359. type="javaee:descriptionType"
  360. minOccurs="0"
  361. maxOccurs="unbounded"/>
  362. <xsd:element name="field-name"
  363. type="javaee:java-identifierType">
  364. <xsd:annotation>
  365. <xsd:documentation>
  366. The field-name element specifies the name of a
  367. container managed field.
  368. The name of the cmp-field of an entity bean with
  369. cmp-version 2.x must begin with a lowercase
  370. letter. This field is accessed by methods whose
  371. names consists of the name of the field specified by
  372. field-name in which the first letter is uppercased,
  373. prefixed by "get" or "set".
  374. The name of the cmp-field of an entity bean with
  375. cmp-version 1.x must denote a public field of the
  376. enterprise bean class or one of its superclasses.
  377. </xsd:documentation>
  378. </xsd:annotation>
  379. </xsd:element>
  380. </xsd:sequence>
  381. <xsd:attribute name="id"
  382. type="xsd:ID"/>
  383. </xsd:complexType>
  384. <!-- **************************************************** -->
  385. <xsd:complexType name="cmp-versionType">
  386. <xsd:annotation>
  387. <xsd:documentation>
  388. The cmp-versionType specifies the version of an entity bean
  389. with container-managed persistence. It is used by
  390. cmp-version elements.
  391. The value must be one of the two following:
  392. 1.x
  393. 2.x
  394. </xsd:documentation>
  395. </xsd:annotation>
  396. <xsd:simpleContent>
  397. <xsd:restriction base="javaee:string">
  398. <xsd:enumeration value="1.x"/>
  399. <xsd:enumeration value="2.x"/>
  400. </xsd:restriction>
  401. </xsd:simpleContent>
  402. </xsd:complexType>
  403. <!-- **************************************************** -->
  404. <xsd:complexType name="cmr-fieldType">
  405. <xsd:annotation>
  406. <xsd:documentation>
  407. The cmr-fieldType describes the bean provider's view of
  408. a relationship. It consists of an optional description, and
  409. the name and the class type of a field in the source of a
  410. role of a relationship. The cmr-field-name element
  411. corresponds to the name used for the get and set accessor
  412. methods for the relationship. The cmr-field-type element is
  413. used only for collection-valued cmr-fields. It specifies the
  414. type of the collection that is used.
  415. </xsd:documentation>
  416. </xsd:annotation>
  417. <xsd:sequence>
  418. <xsd:element name="description"
  419. type="javaee:descriptionType"
  420. minOccurs="0"
  421. maxOccurs="unbounded"/>
  422. <xsd:element name="cmr-field-name"
  423. type="javaee:string">
  424. <xsd:annotation>
  425. <xsd:documentation>
  426. The cmr-field-name element specifies the name of a
  427. logical relationship field in the entity bean
  428. class. The name of the cmr-field must begin with a
  429. lowercase letter. This field is accessed by methods
  430. whose names consist of the name of the field
  431. specified by cmr-field-name in which the first
  432. letter is uppercased, prefixed by "get" or "set".
  433. </xsd:documentation>
  434. </xsd:annotation>
  435. </xsd:element>
  436. <xsd:element name="cmr-field-type"
  437. type="javaee:cmr-field-typeType"
  438. minOccurs="0"/>
  439. </xsd:sequence>
  440. <xsd:attribute name="id"
  441. type="xsd:ID"/>
  442. </xsd:complexType>
  443. <!-- **************************************************** -->
  444. <xsd:complexType name="cmr-field-typeType">
  445. <xsd:annotation>
  446. <xsd:documentation>
  447. The cmr-field-type element specifies the class of a
  448. collection-valued logical relationship field in the entity
  449. bean class. The value of an element using cmr-field-typeType
  450. must be either: java.util.Collection or java.util.Set.
  451. </xsd:documentation>
  452. </xsd:annotation>
  453. <xsd:simpleContent>
  454. <xsd:restriction base="javaee:string">
  455. <xsd:enumeration value="java.util.Collection"/>
  456. <xsd:enumeration value="java.util.Set"/>
  457. </xsd:restriction>
  458. </xsd:simpleContent>
  459. </xsd:complexType>
  460. <!-- **************************************************** -->
  461. <xsd:complexType name="concurrency-management-typeType">
  462. <xsd:annotation>
  463. <xsd:documentation>
  464. The concurrency-management-typeType specifies the way concurrency
  465. is managed for a singleton or stateful session bean.
  466. The concurrency management type must be one of the following:
  467. Bean
  468. Container
  469. Bean managed concurrency can only be specified for a singleton bean.
  470. </xsd:documentation>
  471. </xsd:annotation>
  472. <xsd:simpleContent>
  473. <xsd:restriction base="javaee:string">
  474. <xsd:enumeration value="Bean"/>
  475. <xsd:enumeration value="Container"/>
  476. </xsd:restriction>
  477. </xsd:simpleContent>
  478. </xsd:complexType>
  479. <!-- **************************************************** -->
  480. <xsd:complexType name="concurrent-lock-typeType">
  481. <xsd:annotation>
  482. <xsd:documentation>
  483. The concurrent-lock-typeType specifies how the container must
  484. manage concurrent access to a method of a Singleton bean
  485. with container-managed concurrency.
  486. The container managed concurrency lock type must be one
  487. of the following :
  488. Read
  489. Write
  490. </xsd:documentation>
  491. </xsd:annotation>
  492. <xsd:simpleContent>
  493. <xsd:restriction base="javaee:string">
  494. <xsd:enumeration value="Read"/>
  495. <xsd:enumeration value="Write"/>
  496. </xsd:restriction>
  497. </xsd:simpleContent>
  498. </xsd:complexType>
  499. <!-- **************************************************** -->
  500. <xsd:complexType name="concurrent-methodType">
  501. <xsd:annotation>
  502. <xsd:documentation>
  503. The concurrent-methodType specifies information about a method
  504. of a bean with container managed concurrency.
  505. The optional lock element specifies the kind of concurrency
  506. lock asssociated with the method.
  507. The optional access-timeout element specifies the amount of
  508. time (in a given time unit) the container should wait for a
  509. concurrency lock before throwing an exception to the client.
  510. </xsd:documentation>
  511. </xsd:annotation>
  512. <xsd:sequence>
  513. <xsd:element name="method"
  514. type="javaee:named-methodType"/>
  515. <xsd:element name="lock"
  516. type="javaee:concurrent-lock-typeType"
  517. minOccurs="0"/>
  518. <xsd:element name="access-timeout"
  519. type="javaee:access-timeoutType"
  520. minOccurs="0"/>
  521. </xsd:sequence>
  522. <xsd:attribute name="id"
  523. type="xsd:ID"/>
  524. </xsd:complexType>
  525. <!-- **************************************************** -->
  526. <xsd:complexType name="container-transactionType">
  527. <xsd:annotation>
  528. <xsd:documentation>
  529. The container-transactionType specifies how the container
  530. must manage transaction scopes for the enterprise bean's
  531. method invocations. It defines an optional description, a
  532. list of method elements, and a transaction attribute. The
  533. transaction attribute is to be applied to all the specified
  534. methods.
  535. </xsd:documentation>
  536. </xsd:annotation>
  537. <xsd:sequence>
  538. <xsd:element name="description"
  539. type="javaee:descriptionType"
  540. minOccurs="0"
  541. maxOccurs="unbounded"/>
  542. <xsd:element name="method"
  543. type="javaee:methodType"
  544. maxOccurs="unbounded"/>
  545. <xsd:element name="trans-attribute"
  546. type="javaee:trans-attributeType"/>
  547. </xsd:sequence>
  548. <xsd:attribute name="id"
  549. type="xsd:ID"/>
  550. </xsd:complexType>
  551. <!-- **************************************************** -->
  552. <xsd:complexType name="depends-onType">
  553. <xsd:annotation>
  554. <xsd:documentation>
  555. The depends-onType is used to express initialization
  556. ordering dependencies between Singleton components.
  557. The depends-onType specifies the names of one or more
  558. Singleton beans in the same application as the referring
  559. Singleton, each of which must be initialized before
  560. the referring bean.
  561. Each dependent bean is expressed using ejb-link syntax.
  562. The order in which dependent beans are initialized at
  563. runtime is not guaranteed to match the order in which
  564. they are listed.
  565. </xsd:documentation>
  566. </xsd:annotation>
  567. <xsd:sequence>
  568. <xsd:element name="ejb-name"
  569. type="javaee:ejb-linkType"
  570. minOccurs="1"
  571. maxOccurs="unbounded"/>
  572. </xsd:sequence>
  573. <xsd:attribute name="id"
  574. type="xsd:ID"/>
  575. </xsd:complexType>
  576. <!-- **************************************************** -->
  577. <xsd:complexType name="ejb-classType">
  578. <xsd:annotation>
  579. <xsd:documentation>
  580. <![CDATA[[
  581. The ejb-classType contains the fully-qualified name of the
  582. enterprise bean's class. It is used by ejb-class elements.
  583. Example:
  584. <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
  585. ]]>
  586. </xsd:documentation>
  587. </xsd:annotation>
  588. <xsd:simpleContent>
  589. <xsd:restriction base="javaee:fully-qualified-classType"/>
  590. </xsd:simpleContent>
  591. </xsd:complexType>
  592. <!-- **************************************************** -->
  593. <xsd:complexType name="ejb-jarType">
  594. <xsd:annotation>
  595. <xsd:documentation>
  596. The ejb-jarType defines the root element of the EJB
  597. deployment descriptor. It contains
  598. - an optional description of the ejb-jar file
  599. - an optional display name
  600. - an optional icon that contains a small and a large
  601. icon file name
  602. - an optional module name. Only applicable to
  603. stand-alone ejb-jars or ejb-jars packaged in an ear.
  604. Ignored if specified for an ejb-jar.xml within a .war.
  605. In that case, standard .war module-name rules apply.
  606. - structural information about all included
  607. enterprise beans that is not specified through
  608. annotations
  609. - structural information about interceptor classes
  610. - a descriptor for container managed relationships,
  611. if any.
  612. - an optional application-assembly descriptor
  613. - an optional name of an ejb-client-jar file for the
  614. ejb-jar.
  615. </xsd:documentation>
  616. </xsd:annotation>
  617. <xsd:sequence>
  618. <xsd:element name="module-name"
  619. type="javaee:string"
  620. minOccurs="0"/>
  621. <xsd:group ref="javaee:descriptionGroup"/>
  622. <xsd:element name="enterprise-beans"
  623. type="javaee:enterprise-beansType"
  624. minOccurs="0"/>
  625. <xsd:element name="interceptors"
  626. type="javaee:interceptorsType"
  627. minOccurs="0"/>
  628. <xsd:element name="relationships"
  629. type="javaee:relationshipsType"
  630. minOccurs="0">
  631. <xsd:unique name="relationship-name-uniqueness">
  632. <xsd:annotation>
  633. <xsd:documentation>
  634. The ejb-relation-name contains the name of a
  635. relation. The name must be unique within
  636. relationships.
  637. </xsd:documentation>
  638. </xsd:annotation>
  639. <xsd:selector xpath="javaee:ejb-relation"/>
  640. <xsd:field xpath="javaee:ejb-relation-name"/>
  641. </xsd:unique>
  642. </xsd:element>
  643. <xsd:element name="assembly-descriptor"
  644. type="javaee:assembly-descriptorType"
  645. minOccurs="0">
  646. <xsd:annotation>
  647. <xsd:documentation>
  648. Providing an assembly-descriptor in the deployment
  649. descriptor is optional for the ejb-jar or .war file
  650. producer.
  651. </xsd:documentation>
  652. </xsd:annotation>
  653. </xsd:element>
  654. <xsd:element name="ejb-client-jar"
  655. type="javaee:pathType"
  656. minOccurs="0">
  657. <xsd:annotation>
  658. <xsd:documentation>
  659. <![CDATA[[
  660. The optional ejb-client-jar element specifies a JAR
  661. file that contains the class files necessary for a
  662. client program to access the
  663. enterprise beans in the ejb-jar file.
  664. Example:
  665. <ejb-client-jar>employee_service_client.jar
  666. </ejb-client-jar>
  667. ]]>
  668. </xsd:documentation>
  669. </xsd:annotation>
  670. </xsd:element>
  671. </xsd:sequence>
  672. <xsd:attribute name="version"
  673. type="javaee:dewey-versionType"
  674. fixed="3.1"
  675. use="required">
  676. <xsd:annotation>
  677. <xsd:documentation>
  678. The version specifies the version of the
  679. EJB specification that the instance document must
  680. comply with. This information enables deployment tools
  681. to validate a particular EJB Deployment
  682. Descriptor with respect to a specific version of the EJB
  683. schema.
  684. </xsd:documentation>
  685. </xsd:annotation>
  686. </xsd:attribute>
  687. <xsd:attribute name="metadata-complete"
  688. type="xsd:boolean">
  689. <xsd:annotation>
  690. <xsd:documentation>
  691. The metadata-complete attribute defines whether this
  692. deployment descriptor and other related deployment
  693. descriptors for this module (e.g., web service
  694. descriptors) are complete, or whether the class
  695. files available to this module and packaged with
  696. this application should be examined for annotations
  697. that specify deployment information.
  698. If metadata-complete is set to "true", the deployment
  699. tool must ignore any annotations that specify deployment
  700. information, which might be present in the class files
  701. of the application.
  702. If metadata-complete is not specified or is set to
  703. "false", the deployment tool must examine the class
  704. files of the application for annotations, as
  705. specified by the specifications.
  706. </xsd:documentation>
  707. </xsd:annotation>
  708. </xsd:attribute>
  709. <xsd:attribute name="id"
  710. type="xsd:ID"/>
  711. </xsd:complexType>
  712. <!-- **************************************************** -->
  713. <xsd:complexType name="ejb-nameType">
  714. <xsd:annotation>
  715. <xsd:documentation>
  716. <![CDATA[[
  717. The ejb-nameType specifies an enterprise bean's name. It is
  718. used by ejb-name elements. This name is assigned by the
  719. file producer to name the enterprise bean in the
  720. ejb-jar or .war file's deployment descriptor. The name must be
  721. unique among the names of the enterprise beans in the same
  722. ejb-jar or .war file.
  723. There is no architected relationship between the used
  724. ejb-name in the deployment descriptor and the JNDI name that
  725. the Deployer will assign to the enterprise bean's home.
  726. The name for an entity bean must conform to the lexical
  727. rules for an NMTOKEN.
  728. Example:
  729. <ejb-name>EmployeeService</ejb-name>
  730. ]]>
  731. </xsd:documentation>
  732. </xsd:annotation>
  733. <xsd:simpleContent>
  734. <xsd:restriction base="javaee:xsdNMTOKENType"/>
  735. </xsd:simpleContent>
  736. </xsd:complexType>
  737. <!-- **************************************************** -->
  738. <xsd:complexType name="ejb-relationType">
  739. <xsd:annotation>
  740. <xsd:documentation>
  741. The ejb-relationType describes a relationship between two
  742. entity beans with container-managed persistence. It is used
  743. by ejb-relation elements. It contains a description; an
  744. optional ejb-relation-name element; and exactly two
  745. relationship role declarations, defined by the
  746. ejb-relationship-role elements. The name of the
  747. relationship, if specified, is unique within the ejb-jar
  748. file.
  749. </xsd:documentation>
  750. </xsd:annotation>
  751. <xsd:sequence>
  752. <xsd:element name="description"
  753. type="javaee:descriptionType"
  754. minOccurs="0"
  755. maxOccurs="unbounded"/>
  756. <xsd:element name="ejb-relation-name"
  757. type="javaee:string"
  758. minOccurs="0">
  759. <xsd:annotation>
  760. <xsd:documentation>
  761. The ejb-relation-name element provides a unique name
  762. within the ejb-jar file for a relationship.
  763. </xsd:documentation>
  764. </xsd:annotation>
  765. </xsd:element>
  766. <xsd:element name="ejb-relationship-role"
  767. type="javaee:ejb-relationship-roleType"/>
  768. <xsd:element name="ejb-relationship-role"
  769. type="javaee:ejb-relationship-roleType"/>
  770. </xsd:sequence>
  771. <xsd:attribute name="id"
  772. type="xsd:ID"/>
  773. </xsd:complexType>
  774. <!-- **************************************************** -->
  775. <xsd:complexType name="ejb-relationship-roleType">
  776. <xsd:annotation>
  777. <xsd:documentation>
  778. <![CDATA[[
  779. The ejb-relationship-roleType describes a role within a
  780. relationship. There are two roles in each relationship.
  781. The ejb-relationship-roleType contains an optional
  782. description; an optional name for the relationship role; a
  783. specification of the multiplicity of the role; an optional
  784. specification of cascade-delete functionality for the role;
  785. the role source; and a declaration of the cmr-field, if any,
  786. by means of which the other side of the relationship is
  787. accessed from the perspective of the role source.
  788. The multiplicity and role-source element are mandatory.
  789. The relationship-role-source element designates an entity
  790. bean by means of an ejb-name element. For bidirectional
  791. relationships, both roles of a relationship must declare a
  792. relationship-role-source element that specifies a cmr-field
  793. in terms of which the relationship is accessed. The lack of
  794. a cmr-field element in an ejb-relationship-role specifies
  795. that the relationship is unidirectional in navigability and
  796. the entity bean that participates in the relationship is
  797. "not aware" of the relationship.
  798. Example:
  799. <ejb-relation>
  800. <ejb-relation-name>Product-LineItem</ejb-relation-name>
  801. <ejb-relationship-role>
  802. <ejb-relationship-role-name>product-has-lineitems
  803. </ejb-relationship-role-name>
  804. <multiplicity>One</multiplicity>
  805. <relationship-role-source>
  806. <ejb-name>ProductEJB</ejb-name>
  807. </relationship-role-source>
  808. </ejb-relationship-role>
  809. </ejb-relation>
  810. ]]>
  811. </xsd:documentation>
  812. </xsd:annotation>
  813. <xsd:sequence>
  814. <xsd:element name="description"
  815. type="javaee:descriptionType"
  816. minOccurs="0"
  817. maxOccurs="unbounded"/>
  818. <xsd:element name="ejb-relationship-role-name"
  819. type="javaee:string"
  820. minOccurs="0">
  821. <xsd:annotation>
  822. <xsd:documentation>
  823. The ejb-relationship-role-name element defines a
  824. name for a role that is unique within an
  825. ejb-relation. Different relationships can use the
  826. same name for a role.
  827. </xsd:documentation>
  828. </xsd:annotation>
  829. </xsd:element>
  830. <xsd:element name="multiplicity"
  831. type="javaee:multiplicityType"/>
  832. <xsd:element name="cascade-delete"
  833. type="javaee:emptyType"
  834. minOccurs="0">
  835. <xsd:annotation>
  836. <xsd:documentation>
  837. The cascade-delete element specifies that, within a
  838. particular relationship, the lifetime of one or more
  839. entity beans is dependent upon the lifetime of
  840. another entity bean. The cascade-delete element can
  841. only be specified for an ejb-relationship-role
  842. element contained in an ejb-relation element in
  843. which the other ejb-relationship-role
  844. element specifies a multiplicity of One.
  845. </xsd:documentation>
  846. </xsd:annotation>
  847. </xsd:element>
  848. <xsd:element name="relationship-role-source"
  849. type="javaee:relationship-role-sourceType"/>
  850. <xsd:element name="cmr-field"
  851. type="javaee:cmr-fieldType"
  852. minOccurs="0"/>
  853. </xsd:sequence>
  854. <xsd:attribute name="id"
  855. type="xsd:ID"/>
  856. </xsd:complexType>
  857. <!-- **************************************************** -->
  858. <xsd:complexType name="enterprise-beansType">
  859. <xsd:annotation>
  860. <xsd:documentation>
  861. The enterprise-beansType declares one or more enterprise
  862. beans. Each bean can be a session, entity or message-driven
  863. bean.
  864. </xsd:documentation>
  865. </xsd:annotation>
  866. <xsd:choice maxOccurs="unbounded">
  867. <xsd:element name="session"
  868. type="javaee:session-beanType">
  869. <xsd:unique name="session-ejb-local-ref-name-uniqueness">
  870. <xsd:annotation>
  871. <xsd:documentation>
  872. The ejb-ref-name element contains the name of
  873. an EJB reference. The EJB reference is an entry in
  874. the component's environment and is relative to the
  875. java:comp/env context. The name must be unique within
  876. the component.
  877. It is recommended that name be prefixed with "ejb/".
  878. </xsd:documentation>
  879. </xsd:annotation>
  880. <xsd:selector xpath="javaee:ejb-local-ref"/>
  881. <xsd:field xpath="javaee:ejb-ref-name"/>
  882. </xsd:unique>
  883. <xsd:unique name="session-ejb-ref-name-uniqueness">
  884. <xsd:annotation>
  885. <xsd:documentation>
  886. The ejb-ref-name element contains the name of an EJB
  887. reference. The EJB reference is an entry in the
  888. component's environment and is relative to the
  889. java:comp/env context. The name must be unique
  890. within the component.
  891. It is recommended that name is prefixed with "ejb/".
  892. </xsd:documentation>
  893. </xsd:annotation>
  894. <xsd:selector xpath="javaee:ejb-ref"/>
  895. <xsd:field xpath="javaee:ejb-ref-name"/>
  896. </xsd:unique>
  897. <xsd:unique name="session-resource-env-ref-uniqueness">
  898. <xsd:annotation>
  899. <xsd:documentation>
  900. The resource-env-ref-name element specifies the name
  901. of a resource environment reference; its value is
  902. the environment entry name used in the component
  903. code. The name is a JNDI name relative to the
  904. java:comp/env context and must be unique within an
  905. component.
  906. </xsd:documentation>
  907. </xsd:annotation>
  908. <xsd:selector xpath="javaee:resource-env-ref"/>
  909. <xsd:field xpath="javaee:resource-env-ref-name"/>
  910. </xsd:unique>
  911. <xsd:unique name="session-message-destination-ref-uniqueness">
  912. <xsd:annotation>
  913. <xsd:documentation>
  914. The message-destination-ref-name element specifies the name
  915. of a message destination reference; its value is
  916. the message destination reference name used in the component
  917. code. The name is a JNDI name relative to the
  918. java:comp/env context and must be unique within an
  919. component.
  920. </xsd:documentation>
  921. </xsd:annotation>
  922. <xsd:selector xpath="javaee:message-destination-ref"/>
  923. <xsd:field xpath="javaee:message-destination-ref-name"/>
  924. </xsd:unique>
  925. <xsd:unique name="session-res-ref-name-uniqueness">
  926. <xsd:annotation>
  927. <xsd:documentation>
  928. The res-ref-name element specifies the name of a
  929. resource manager connection factory reference. The name
  930. is a JNDI name relative to the java:comp/env context.
  931. The name must be unique within an component.
  932. </xsd:documentation>
  933. </xsd:annotation>
  934. <xsd:selector xpath="javaee:resource-ref"/>
  935. <xsd:field xpath="javaee:res-ref-name"/>
  936. </xsd:unique>
  937. <xsd:unique name="session-env-entry-name-uniqueness">
  938. <xsd:annotation>
  939. <xsd:documentation>
  940. The env-entry-name element contains the name of a
  941. component's environment entry. The name is a JNDI
  942. name relative to the java:comp/env context. The
  943. name must be unique within an component.
  944. </xsd:documentation>
  945. </xsd:annotation>
  946. <xsd:selector xpath="javaee:env-entry"/>
  947. <xsd:field xpath="javaee:env-entry-name"/>
  948. </xsd:unique>
  949. </xsd:element>
  950. <xsd:element name="entity"
  951. type="javaee:entity-beanType">
  952. <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
  953. <xsd:annotation>
  954. <xsd:documentation>
  955. The ejb-ref-name element contains the name of
  956. an EJB reference. The EJB reference is an entry in
  957. the component's environment and is relative to the
  958. java:comp/env context. The name must be unique within
  959. the component.
  960. It is recommended that name be prefixed with "ejb/".
  961. </xsd:documentation>
  962. </xsd:annotation>
  963. <xsd:selector xpath="javaee:ejb-local-ref"/>
  964. <xsd:field xpath="javaee:ejb-ref-name"/>
  965. </xsd:unique>
  966. <xsd:unique name="entity-ejb-ref-name-uniqueness">
  967. <xsd:annotation>
  968. <xsd:documentation>
  969. The ejb-ref-name element contains the name of an EJB
  970. reference. The EJB reference is an entry in the
  971. component's environment and is relative to the
  972. java:comp/env context. The name must be unique
  973. within the component.
  974. It is recommended that name is prefixed with "ejb/".
  975. </xsd:documentation>
  976. </xsd:annotation>
  977. <xsd:selector xpath="javaee:ejb-ref"/>
  978. <xsd:field xpath="javaee:ejb-ref-name"/>
  979. </xsd:unique>
  980. <xsd:unique name="entity-resource-env-ref-uniqueness">
  981. <xsd:annotation>
  982. <xsd:documentation>
  983. The resource-env-ref-name element specifies the name
  984. of a resource environment reference; its value is
  985. the environment entry name used in the component
  986. code. The name is a JNDI name relative to the
  987. java:comp/env context and must be unique within an
  988. component.
  989. </xsd:documentation>
  990. </xsd:annotation>
  991. <xsd:selector xpath="javaee:resource-env-ref"/>
  992. <xsd:field xpath="javaee:resource-env-ref-name"/>
  993. </xsd:unique>
  994. <xsd:unique name="entity-message-destination-ref-uniqueness">
  995. <xsd:annotation>
  996. <xsd:documentation>
  997. The message-destination-ref-name element specifies the name
  998. of a message destination reference; its value is
  999. the message destination reference name used in the component
  1000. code. The name is a JNDI name relative to the
  1001. java:comp/env context and must be unique within an
  1002. component.
  1003. </xsd:documentation>
  1004. </xsd:annotation>
  1005. <xsd:selector xpath="javaee:message-destination-ref"/>
  1006. <xsd:field xpath="javaee:message-destination-ref-name"/>
  1007. </xsd:unique>
  1008. <xsd:unique name="entity-res-ref-name-uniqueness">
  1009. <xsd:annotation>
  1010. <xsd:documentation>
  1011. The res-ref-name element specifies the name of a
  1012. resource manager connection factory reference. The name
  1013. is a JNDI name relative to the java:comp/env context.
  1014. The name must be unique within an component.
  1015. </xsd:documentation>
  1016. </xsd:annotation>
  1017. <xsd:selector xpath="javaee:resource-ref"/>
  1018. <xsd:field xpath="javaee:res-ref-name"/>
  1019. </xsd:unique>
  1020. <xsd:unique name="entity-env-entry-name-uniqueness">
  1021. <xsd:annotation>
  1022. <xsd:documentation>
  1023. The env-entry-name element contains the name of a
  1024. component's environment entry. The name is a JNDI
  1025. name relative to the java:comp/env context. The
  1026. name must be unique within an component.
  1027. </xsd:documentation>
  1028. </xsd:annotation>
  1029. <xsd:selector xpath="javaee:env-entry"/>
  1030. <xsd:field xpath="javaee:env-entry-name"/>
  1031. </xsd:unique>
  1032. </xsd:element>
  1033. <xsd:element name="message-driven"
  1034. type="javaee:message-driven-beanType">
  1035. <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
  1036. <xsd:annotation>
  1037. <xsd:documentation>
  1038. The ejb-ref-name element contains the name of
  1039. an EJB reference. The EJB reference is an entry in
  1040. the component's environment and is relative to the
  1041. java:comp/env context. The name must be unique within
  1042. the component.
  1043. It is recommended that name be prefixed with "ejb/".
  1044. </xsd:documentation>
  1045. </xsd:annotation>
  1046. <xsd:selector xpath="javaee:ejb-local-ref"/>
  1047. <xsd:field xpath="javaee:ejb-ref-name"/>
  1048. </xsd:unique>
  1049. <xsd:unique name="messaged-ejb-ref-name-uniqueness">
  1050. <xsd:annotation>
  1051. <xsd:documentation>
  1052. The ejb-ref-name element contains the name of an EJB
  1053. reference. The EJB reference is an entry in the
  1054. component's environment and is relative to the
  1055. java:comp/env context. The name must be unique
  1056. within the component.
  1057. It is recommended that name is prefixed with "ejb/".
  1058. </xsd:documentation>
  1059. </xsd:annotation>
  1060. <xsd:selector xpath="javaee:ejb-ref"/>
  1061. <xsd:field xpath="javaee:ejb-ref-name"/>
  1062. </xsd:unique>
  1063. <xsd:unique name="messaged-resource-env-ref-uniqueness">
  1064. <xsd:annotation>
  1065. <xsd:documentation>
  1066. The resource-env-ref-name element specifies the name
  1067. of a resource environment reference; its value is
  1068. the environment entry name used in the component
  1069. code. The name is a JNDI name relative to the
  1070. java:comp/env context and must be unique within an
  1071. component.
  1072. </xsd:documentation>
  1073. </xsd:annotation>
  1074. <xsd:selector xpath="javaee:resource-env-ref"/>
  1075. <xsd:field xpath="javaee:resource-env-ref-name"/>
  1076. </xsd:unique>
  1077. <xsd:unique name="messaged-message-destination-ref-uniqueness">
  1078. <xsd:annotation>
  1079. <xsd:documentation>
  1080. The message-destination-ref-name element specifies the name
  1081. of a message destination reference; its value is
  1082. the message destination reference name used in the component
  1083. code. The name is a JNDI name relative to the
  1084. java:comp/env context and must be unique within an
  1085. component.
  1086. </xsd:documentation>
  1087. </xsd:annotation>
  1088. <xsd:selector xpath="javaee:message-destination-ref"/>
  1089. <xsd:field xpath="javaee:message-destination-ref-name"/>
  1090. </xsd:unique>
  1091. <xsd:unique name="messaged-res-ref-name-uniqueness">
  1092. <xsd:annotation>
  1093. <xsd:documentation>
  1094. The res-ref-name element specifies the name of a
  1095. resource manager connection factory reference. The name
  1096. is a JNDI name relative to the java:comp/env context.
  1097. The name must be unique within an component.
  1098. </xsd:documentation>
  1099. </xsd:annotation>
  1100. <xsd:selector xpath="javaee:resource-ref"/>
  1101. <xsd:field xpath="javaee:res-ref-name"/>
  1102. </xsd:unique>
  1103. <xsd:unique name="messaged-env-entry-name-uniqueness">
  1104. <xsd:annotation>
  1105. <xsd:documentation>
  1106. The env-entry-name element contains the name of a
  1107. component's environment entry. The name is a JNDI
  1108. name relative to the java:comp/env context. The
  1109. name must be unique within an component.
  1110. </xsd:documentation>
  1111. </xsd:annotation>
  1112. <xsd:selector xpath="javaee:env-entry"/>
  1113. <xsd:field xpath="javaee:env-entry-name"/>
  1114. </xsd:unique>
  1115. </xsd:element>
  1116. </xsd:choice>
  1117. <xsd:attribute name="id"
  1118. type="xsd:ID"/>
  1119. </xsd:complexType>
  1120. <!-- **************************************************** -->
  1121. <xsd:complexType name="entity-beanType">
  1122. <xsd:annotation>
  1123. <xsd:documentation>
  1124. The entity-beanType declares an entity bean. The declaration
  1125. consists of:
  1126. - an optional description
  1127. - an optional display name
  1128. - an optional icon element that contains a small and a large
  1129. icon file name
  1130. - a unique name assigned to the enterprise bean
  1131. in the deployment descriptor
  1132. - an optional mapped-name element that can be used to provide
  1133. vendor-specific deployment information such as the physical
  1134. jndi-name of the entity bean's remote home interface. This
  1135. element is not required to be supported by all implementations.
  1136. Any use of this element is non-portable.
  1137. - the names of the entity bean's remote home
  1138. and remote interfaces, if any
  1139. - the names of the entity bean's local home and local
  1140. interfaces, if any
  1141. - the entity bean's implementation class
  1142. - the optional entity bean's persistence management type. If
  1143. this element is not specified it is defaulted to Container.
  1144. - the entity bean's primary key class name
  1145. - an indication of the entity bean's reentrancy
  1146. - an optional specification of the
  1147. entity bean's cmp-version
  1148. - an optional specification of the entity bean's
  1149. abstract schema name
  1150. - an optional list of container-managed fields
  1151. - an optional specification of the primary key
  1152. field
  1153. - an optional declaration of the bean's environment
  1154. entries
  1155. - an optional declaration of the bean's EJB
  1156. references
  1157. - an optional declaration of the bean's local
  1158. EJB references
  1159. - an optional declaration of the bean's web
  1160. service references
  1161. - an optional declaration of the security role
  1162. references
  1163. - an optional declaration of the security identity
  1164. to be used for the execution of the bean's methods
  1165. - an optional declaration of the bean's
  1166. resource manager connection factory references
  1167. - an optional declaration of the bean's
  1168. resource environment references
  1169. - an optional declaration of the bean's message
  1170. destination references
  1171. - an optional set of query declarations
  1172. for finder and select methods for an entity
  1173. bean with cmp-version 2.x.
  1174. The optional abstract-schema-name element must be specified
  1175. for an entity bean with container-managed persistence and
  1176. cmp-version 2.x.
  1177. The optional primkey-field may be present in the descriptor
  1178. if the entity's persistence-type is Container.
  1179. The optional cmp-version element may be present in the
  1180. descriptor if the entity's persistence-type is Container. If
  1181. the persistence-type is Container and the cmp-version
  1182. element is not specified, its value defaults to 2.x.
  1183. The optional home and remote elements must be specified if
  1184. the entity bean cmp-version is 1.x.
  1185. The optional home and remote elements must be specified if
  1186. the entity bean has a remote home and remote interface.
  1187. The optional local-home and local elements must be specified
  1188. if the entity bean has a local home and local interface.
  1189. Either both the local-home and the local elements or both
  1190. the home and the remote elements must be specified.
  1191. The optional query elements must be present if the
  1192. persistence-type is Container and the cmp-version is 2.x and
  1193. query methods other than findByPrimaryKey have been defined
  1194. for the entity bean.
  1195. The other elements that are optional are "optional" in the
  1196. sense that they are omitted if the lists represented by them
  1197. are empty.
  1198. At least one cmp-field element must be present in the
  1199. descriptor if the entity's persistence-type is Container and
  1200. the cmp-version is 1.x, and none must not be present if the
  1201. entity's persistence-type is Bean.
  1202. </xsd:documentation>
  1203. </xsd:annotation>
  1204. <xsd:sequence>
  1205. <xsd:group ref="javaee:descriptionGroup"/>
  1206. <xsd:element name="ejb-name"
  1207. type="javaee:ejb-nameType"/>
  1208. <xsd:element name="mapped-name"
  1209. type="javaee:xsdStringType"
  1210. minOccurs="0"/>
  1211. <xsd:element name="home"
  1212. type="javaee:homeType"
  1213. minOccurs="0"/>
  1214. <xsd:element name="remote"
  1215. type="javaee:remoteType"
  1216. minOccurs="0"/>
  1217. <xsd:element name="local-home"
  1218. type="javaee:local-homeType"
  1219. minOccurs="0"/>
  1220. <xsd:element name="local"
  1221. type="javaee:localType"
  1222. minOccurs="0"/>
  1223. <xsd:element name="ejb-class"
  1224. type="javaee:ejb-classType"/>
  1225. <xsd:element name="persistence-type"
  1226. type="javaee:persistence-typeType"/>
  1227. <xsd:element name="prim-key-class"
  1228. type="javaee:fully-qualified-classType">
  1229. <xsd:annotation>
  1230. <xsd:documentation>
  1231. The prim-key-class element contains the
  1232. fully-qualified name of an
  1233. entity bean's primary key class.
  1234. If the definition of the primary key class is
  1235. deferred to deployment time, the prim-key-class
  1236. element should specify java.lang.Object.
  1237. </xsd:documentation>
  1238. </xsd:annotation>
  1239. </xsd:element>
  1240. <xsd:element name="reentrant"
  1241. type="javaee:true-falseType">
  1242. <xsd:annotation>
  1243. <xsd:documentation>
  1244. The reentrant element specifies whether an entity
  1245. bean is reentrant or not.
  1246. The reentrant element must be one of the two
  1247. following: true or false
  1248. </xsd:documentation>
  1249. </xsd:annotation>
  1250. </xsd:element>
  1251. <xsd:element name="cmp-version"
  1252. type="javaee:cmp-versionType"
  1253. minOccurs="0"/>
  1254. <xsd:element name="abstract-schema-name"
  1255. type="javaee:java-identifierType"
  1256. minOccurs="0">
  1257. <xsd:annotation>
  1258. <xsd:documentation>
  1259. The abstract-schema-name element specifies the name
  1260. of the abstract schema type of an entity bean with
  1261. cmp-version 2.x. It is used in EJB QL queries.
  1262. For example, the abstract-schema-name for an entity
  1263. bean whose local interface is
  1264. com.acme.commerce.Order might be Order.
  1265. </xsd:documentation>
  1266. </xsd:annotation>
  1267. </xsd:element>
  1268. <xsd:element name="cmp-field"
  1269. type="javaee:cmp-fieldType"
  1270. minOccurs="0"
  1271. maxOccurs="unbounded"/>
  1272. <xsd:element name="primkey-field"
  1273. type="javaee:string"
  1274. minOccurs="0">
  1275. <xsd:annotation>
  1276. <xsd:documentation>
  1277. The primkey-field element is used to specify the
  1278. name of the primary key field for an entity with
  1279. container-managed persistence.
  1280. The primkey-field must be one of the fields declared
  1281. in the cmp-field element, and the type of the field
  1282. must be the same as the primary key type.
  1283. The primkey-field element is not used if the primary
  1284. key maps to multiple container-managed fields
  1285. (i.e. the key is a compound key). In this case, the
  1286. fields of the primary key class must be public, and
  1287. their names must correspond to the field names of
  1288. the entity bean class that comprise the key.
  1289. </xsd:documentation>
  1290. </xsd:annotation>
  1291. </xsd:element>
  1292. <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
  1293. <xsd:element name="security-role-ref"
  1294. type="javaee:security-role-refType"
  1295. minOccurs="0"
  1296. maxOccurs="unbounded"/>
  1297. <xsd:element name="security-identity"
  1298. type="javaee:security-identityType"
  1299. minOccurs="0"/>
  1300. <xsd:element name="query"
  1301. type="javaee:queryType"
  1302. minOccurs="0"
  1303. maxOccurs="unbounded"/>
  1304. </xsd:sequence>
  1305. <xsd:attribute name="id"
  1306. type="xsd:ID"/>
  1307. </xsd:complexType>
  1308. <!-- **************************************************** -->
  1309. <xsd:complexType name="exclude-listType">
  1310. <xsd:annotation>
  1311. <xsd:documentation>
  1312. The exclude-listType specifies one or more methods which
  1313. the Assembler marks to be uncallable.
  1314. If the method permission relation contains methods that are
  1315. in the exclude list, the Deployer should consider those
  1316. methods to be uncallable.
  1317. </xsd:documentation>
  1318. </xsd:annotation>
  1319. <xsd:sequence>
  1320. <xsd:element name="description"
  1321. type="javaee:descriptionType"
  1322. minOccurs="0"
  1323. maxOccurs="unbounded"/>
  1324. <xsd:element name="method"
  1325. type="javaee:methodType"
  1326. maxOccurs="unbounded"/>
  1327. </xsd:sequence>
  1328. <xsd:attribute name="id"
  1329. type="xsd:ID"/>
  1330. </xsd:complexType>
  1331. <!-- **************************************************** -->
  1332. <xsd:complexType name="application-exceptionType">
  1333. <xsd:annotation>
  1334. <xsd:documentation>
  1335. The application-exceptionType declares an application
  1336. exception. The declaration consists of:
  1337. - the exception class. When the container receives
  1338. an exception of this type, it is required to
  1339. forward this exception as an applcation exception
  1340. to the client regardless of whether it is a checked
  1341. or unchecked exception.
  1342. - an optional rollback element. If this element is
  1343. set to true, the container must rollback the current
  1344. transaction before forwarding the exception to the
  1345. client. If not specified, it defaults to false.
  1346. - an optional inherited element. If this element is
  1347. set to true, subclasses of the exception class type
  1348. are also automatically considered application
  1349. exceptions (unless overriden at a lower level).
  1350. If set to false, only the exception class type is
  1351. considered an application-exception, not its
  1352. exception subclasses. If not specified, this
  1353. value defaults to true.
  1354. </xsd:documentation>
  1355. </xsd:annotation>
  1356. <xsd:sequence>
  1357. <xsd:element name="exception-class"
  1358. type="javaee:fully-qualified-classType"/>
  1359. <xsd:element name="rollback"
  1360. type="javaee:true-falseType"
  1361. minOccurs="0"/>
  1362. <xsd:element name="inherited"
  1363. type="javaee:true-falseType"
  1364. minOccurs="0"/>
  1365. </xsd:sequence>
  1366. <xsd:attribute name="id"
  1367. type="xsd:ID"/>
  1368. </xsd:complexType>
  1369. <!-- **************************************************** -->
  1370. <xsd:complexType name="interceptorsType">
  1371. <xsd:annotation>
  1372. <xsd:documentation>
  1373. The interceptorsType element declares one or more interceptor
  1374. classes used by components within this ejb-jar or .war. The declaration
  1375. consists of :
  1376. - An optional description.
  1377. - One or more interceptor elements.
  1378. </xsd:documentation>
  1379. </xsd:annotation>
  1380. <xsd:sequence>
  1381. <xsd:element name="description"
  1382. type="javaee:descriptionType"
  1383. minOccurs="0"
  1384. maxOccurs="unbounded"/>
  1385. <xsd:element name="interceptor"
  1386. type="javaee:interceptorType"
  1387. maxOccurs="unbounded"/>
  1388. </xsd:sequence>
  1389. <xsd:attribute name="id"
  1390. type="xsd:ID"/>
  1391. </xsd:complexType>
  1392. <!-- **************************************************** -->
  1393. <xsd:complexType name="interceptorType">
  1394. <xsd:annotation>
  1395. <xsd:documentation>
  1396. The interceptorType element declares information about a single
  1397. interceptor class. It consists of :
  1398. - An optional description.
  1399. - The fully-qualified name of the interceptor class.
  1400. - An optional list of around invoke methods declared on the
  1401. interceptor class and/or its super-classes.
  1402. - An optional list of around timeout methods declared on the
  1403. interceptor class and/or its super-classes.
  1404. - An optional list environment dependencies for the interceptor
  1405. class and/or its super-classes.
  1406. - An optional list of post-activate methods declared on the
  1407. interceptor class and/or its super-classes.
  1408. - An optional list of pre-passivate methods declared on the
  1409. interceptor class and/or its super-classes.
  1410. </xsd:documentation>
  1411. </xsd:annotation>
  1412. <xsd:sequence>
  1413. <xsd:element name="description"
  1414. type="javaee:descriptionType"
  1415. minOccurs="0"
  1416. maxOccurs="unbounded"/>
  1417. <xsd:element name="interceptor-class"
  1418. type="javaee:fully-qualified-classType"/>
  1419. <xsd:element name="around-invoke"
  1420. type="javaee:around-invokeType"
  1421. minOccurs="0"
  1422. maxOccurs="unbounded"/>
  1423. <xsd:element name="around-timeout"
  1424. type="javaee:around-timeoutType"
  1425. minOccurs="0"
  1426. maxOccurs="unbounded"/>
  1427. <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
  1428. <xsd:element name="post-activate"
  1429. type="javaee:lifecycle-callbackType"
  1430. minOccurs="0"
  1431. maxOccurs="unbounded"/>
  1432. <xsd:element name="pre-passivate"
  1433. type="javaee:lifecycle-callbackType"
  1434. minOccurs="0"
  1435. maxOccurs="unbounded"/>
  1436. </xsd:sequence>
  1437. <xsd:attribute name="id"
  1438. type="xsd:ID"/>
  1439. </xsd:complexType>
  1440. <!-- **************************************************** -->
  1441. <xsd:complexType name="interceptor-bindingType">
  1442. <xsd:annotation>
  1443. <xsd:documentation>
  1444. <![CDATA[[
  1445. The interceptor-bindingType element describes the binding of
  1446. interceptor classes to beans within the ejb-jar or .war.
  1447. It consists of :
  1448. - An optional description.
  1449. - The name of an ejb within the module or the wildcard value "*",
  1450. which is used to define interceptors that are bound to all
  1451. beans in the ejb-jar or .war.
  1452. - A list of interceptor classes that are bound to the contents of
  1453. the ejb-name element or a specification of the total ordering
  1454. over the interceptors defined for the given level and above.
  1455. - An optional exclude-default-interceptors element. If set to true,
  1456. specifies that default interceptors are not to be applied to
  1457. a bean-class and/or business method.
  1458. - An optional exclude-class-interceptors element. If set to true,
  1459. specifies that class interceptors are not to be applied to
  1460. a business method.
  1461. - An optional set of method elements for describing the name/params
  1462. of a method-level interceptor.
  1463. Interceptors bound to all classes using the wildcard syntax
  1464. "*" are default interceptors for the components in the ejb-jar or .war.
  1465. In addition, interceptors may be bound at the level of the bean
  1466. class (class-level interceptors) or business methods (method-level
  1467. interceptors ).
  1468. The binding of interceptors to classes is additive. If interceptors
  1469. are bound at the class-level and/or default-level as well as the
  1470. method-level, both class-level and/or default-level as well as
  1471. method-level will apply.
  1472. There are four possible styles of the interceptor element syntax :
  1473. 1.
  1474. <interceptor-binding>
  1475. <ejb-name>*</ejb-name>
  1476. <interceptor-class>INTERCEPTOR</interceptor-class>
  1477. </interceptor-binding>
  1478. Specifying the ejb-name as the wildcard value "*" designates
  1479. default interceptors (interceptors that apply to all session and
  1480. message-driven beans contained in the ejb-jar or .war).
  1481. 2.
  1482. <interceptor-binding>
  1483. <ejb-name>EJBNAME</ejb-name>
  1484. <interceptor-class>INTERCEPTOR</interceptor-class>
  1485. </interceptor-binding>
  1486. This style is used to refer to interceptors associated with the
  1487. specified enterprise bean(class-level interceptors).
  1488. 3.
  1489. <interceptor-binding>
  1490. <ejb-name>EJBNAME</ejb-name>
  1491. <interceptor-class>INTERCEPTOR</interceptor-class>
  1492. <method>
  1493. <method-name>METHOD</method-name>
  1494. </method>
  1495. </interceptor-binding>
  1496. This style is used to associate a method-level interceptor with
  1497. the specified enterprise bean. If there are multiple methods
  1498. with the same overloaded name, the element of this style refers
  1499. to all the methods with the overloaded name. Method-level
  1500. interceptors can only be associated with business methods of the
  1501. bean class. Note that the wildcard value "*" cannot be used
  1502. to specify method-level interceptors.
  1503. 4.
  1504. <interceptor-binding>
  1505. <ejb-name>EJBNAME</ejb-name>
  1506. <interceptor-class>INTERCEPTOR</interceptor-class>
  1507. <method>
  1508. <method-name>METHOD</method-name>
  1509. <method-params>
  1510. <method-param>PARAM-1</method-param>
  1511. <method-param>PARAM-2</method-param>
  1512. ...
  1513. <method-param>PARAM-N</method-param>
  1514. </method-params>
  1515. </method>
  1516. </interceptor-binding>
  1517. This style is used to associate a method-level interceptor with
  1518. the specified method of the specified enterprise bean. This
  1519. style is used to refer to a single method within a set of methods
  1520. with an overloaded name. The values PARAM-1 through PARAM-N
  1521. are the fully-qualified Java types of the method's input parameters
  1522. (if the method has no input arguments, the method-params element
  1523. contains no method-param elements). Arrays are specified by the
  1524. array element's type, followed by one or more pair of square
  1525. brackets (e.g. int[][]).
  1526. ]]>
  1527. </xsd:documentation>
  1528. </xsd:annotation>
  1529. <xsd:sequence>
  1530. <xsd:element name="description"
  1531. type="javaee:descriptionType"
  1532. minOccurs="0"
  1533. maxOccurs="unbounded"/>
  1534. <xsd:element name="ejb-name"
  1535. type="javaee:string"/>
  1536. <xsd:choice>
  1537. <xsd:element name="interceptor-class"
  1538. type="javaee:fully-qualified-classType"
  1539. minOccurs="0"
  1540. maxOccurs="unbounded"/>
  1541. <xsd:element name="interceptor-order"
  1542. type="javaee:interceptor-orderType"
  1543. minOccurs="1"/>
  1544. </xsd:choice>
  1545. <xsd:element name="exclude-default-interceptors"
  1546. type="javaee:true-falseType"
  1547. minOccurs="0"/>
  1548. <xsd:element name="exclude-class-interceptors"
  1549. type="javaee:true-falseType"
  1550. minOccurs="0"/>
  1551. <xsd:element name="method"
  1552. type="javaee:named-methodType"
  1553. minOccurs="0"/>
  1554. </xsd:sequence>
  1555. <xsd:attribute name="id"
  1556. type="xsd:ID"/>
  1557. </xsd:complexType>
  1558. <!-- **************************************************** -->
  1559. <xsd:complexType name="interceptor-orderType">
  1560. <xsd:annotation>
  1561. <xsd:documentation>
  1562. The interceptor-orderType element describes a total ordering
  1563. of interceptor classes.
  1564. </xsd:documentation>
  1565. </xsd:annotation>
  1566. <xsd:sequence>
  1567. <xsd:element name="interceptor-class"
  1568. type="javaee:fully-qualified-classType"
  1569. minOccurs="1"
  1570. maxOccurs="unbounded"/>
  1571. </xsd:sequence>
  1572. <xsd:attribute name="id"
  1573. type="xsd:ID"/>
  1574. </xsd:complexType>
  1575. <!-- **************************************************** -->
  1576. <xsd:complexType name="named-methodType">
  1577. <xsd:sequence>
  1578. <xsd:element name="method-name"
  1579. type="javaee:string"/>
  1580. <xsd:element name="method-params"
  1581. type="javaee:method-paramsType"
  1582. minOccurs="0"/>
  1583. </xsd:sequence>
  1584. <xsd:attribute name="id"
  1585. type="xsd:ID"/>
  1586. </xsd:complexType>
  1587. <!-- **************************************************** -->
  1588. <xsd:complexType name="init-methodType">
  1589. <xsd:sequence>
  1590. <xsd:element name="create-method"
  1591. type="javaee:named-methodType"/>
  1592. <xsd:element name="bean-method"
  1593. type="javaee:named-methodType"/>
  1594. </xsd:sequence>
  1595. <xsd:attribute name="id"
  1596. type="xsd:ID"/>
  1597. </xsd:complexType>
  1598. <!-- **************************************************** -->
  1599. <xsd:complexType name="remove-methodType">
  1600. <xsd:sequence>
  1601. <xsd:element name="bean-method"
  1602. type="javaee:named-methodType"/>
  1603. <xsd:element name="retain-if-exception"
  1604. type="javaee:true-falseType"
  1605. minOccurs="0"/>
  1606. </xsd:sequence>
  1607. <xsd:attribute name="id"
  1608. type="xsd:ID"/>
  1609. </xsd:complexType>
  1610. <!-- **************************************************** -->
  1611. <xsd:complexType name="message-driven-beanType">
  1612. <xsd:annotation>
  1613. <xsd:documentation>
  1614. The message-driven element declares a message-driven
  1615. bean. The declaration consists of:
  1616. - an optional description
  1617. - an optional display name
  1618. - an optional icon element that contains a small and a large
  1619. icon file name.
  1620. - a name assigned to the enterprise bean in
  1621. the deployment descriptor
  1622. - an optional mapped-name element that can be used to provide
  1623. vendor-specific deployment information such as the physical
  1624. jndi-name of destination from which this message-driven bean
  1625. should consume. This element is not required to be supported
  1626. by all implementations. Any use of this element is non-portable.
  1627. - the message-driven bean's implementation class
  1628. - an optional declaration of the bean's messaging
  1629. type
  1630. - an optional declaration of the bean's timeout method for
  1631. handling programmatically created timers
  1632. - an optional declaration of timers to be automatically created at
  1633. deployment time
  1634. - the optional message-driven bean's transaction management
  1635. type. If it is not defined, it is defaulted to Container.
  1636. - an optional declaration of the bean's
  1637. message-destination-type
  1638. - an optional declaration of the bean's
  1639. message-destination-link
  1640. - an optional declaration of the message-driven bean's
  1641. activation configuration properties
  1642. - an optional list of the message-driven bean class and/or
  1643. superclass around-invoke methods.
  1644. - an optional list of the message-driven bean class and/or
  1645. superclass around-timeout methods.
  1646. - an optional declaration of the bean's environment
  1647. entries
  1648. - an optional declaration of the bean's EJB references
  1649. - an optional declaration of the bean's local EJB
  1650. references
  1651. - an optional declaration of the bean's web service
  1652. references
  1653. - an optional declaration of the security role
  1654. references
  1655. - an optional declaration of the security
  1656. identity to be used for the execution of the bean's
  1657. methods
  1658. - an optional declaration of the bean's
  1659. resource manager connection factory
  1660. references
  1661. - an optional declaration of the bean's resource
  1662. environment references.
  1663. - an optional declaration of the bean's message
  1664. destination references
  1665. </xsd:documentation>
  1666. </xsd:annotation>
  1667. <xsd:sequence>
  1668. <xsd:group ref="javaee:descriptionGroup"/>
  1669. <xsd:element name="ejb-name"
  1670. type="javaee:ejb-nameType"/>
  1671. <xsd:element name="mapped-name"
  1672. type="javaee:xsdStringType"
  1673. minOccurs="0"/>
  1674. <xsd:element name="ejb-class"
  1675. type="javaee:ejb-classType"
  1676. minOccurs="0">
  1677. <xsd:annotation>
  1678. <xsd:documentation>
  1679. The ejb-class element specifies the fully qualified name
  1680. of the bean class for this ejb. It is required unless
  1681. there is a component-defining annotation for the same
  1682. ejb-name.
  1683. </xsd:documentation>
  1684. </xsd:annotation>
  1685. </xsd:element>
  1686. <xsd:element name="messaging-type"
  1687. type="javaee:fully-qualified-classType"
  1688. minOccurs="0">
  1689. <xsd:annotation>
  1690. <xsd:documentation>
  1691. The messaging-type element specifies the message
  1692. listener interface of the message-driven bean.
  1693. </xsd:documentation>
  1694. </xsd:annotation>
  1695. </xsd:element>
  1696. <xsd:element name="timeout-method"
  1697. type="javaee:named-methodType"
  1698. minOccurs="0">
  1699. <xsd:annotation>
  1700. <xsd:documentation>
  1701. The timeout-method element specifies the method that
  1702. will receive callbacks for programmatically
  1703. created timers.
  1704. </xsd:documentation>
  1705. </xsd:annotation>
  1706. </xsd:element>
  1707. <xsd:element name="timer"
  1708. type="javaee:timerType"
  1709. minOccurs="0"
  1710. maxOccurs="unbounded"/>
  1711. <xsd:element name="transaction-type"
  1712. type="javaee:transaction-typeType"
  1713. minOccurs="0"/>
  1714. <xsd:element name="message-destination-type"
  1715. type="javaee:message-destination-typeType"
  1716. minOccurs="0"/>
  1717. <xsd:element name="message-destination-link"
  1718. type="javaee:message-destination-linkType"
  1719. minOccurs="0"/>
  1720. <xsd:element name="activation-config"
  1721. type="javaee:activation-configType"
  1722. minOccurs="0"/>
  1723. <xsd:element name="around-invoke"
  1724. type="javaee:around-invokeType"
  1725. minOccurs="0"
  1726. maxOccurs="unbounded"/>
  1727. <xsd:element name="around-timeout"
  1728. type="javaee:around-timeoutType"
  1729. minOccurs="0"
  1730. maxOccurs="unbounded"/>
  1731. <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
  1732. <xsd:element name="security-role-ref"
  1733. type="javaee:security-role-refType"
  1734. minOccurs="0"
  1735. maxOccurs="unbounded">
  1736. </xsd:element>
  1737. <xsd:element name="security-identity"
  1738. type="javaee:security-identityType"
  1739. minOccurs="0"/>
  1740. </xsd:sequence>
  1741. <xsd:attribute name="id"
  1742. type="xsd:ID"/>
  1743. </xsd:complexType>
  1744. <!-- **************************************************** -->
  1745. <xsd:complexType name="methodType">
  1746. <xsd:annotation>
  1747. <xsd:documentation>
  1748. <![CDATA[[
  1749. The methodType is used to denote a method of an enterprise
  1750. bean's business, home, component, and/or web service endpoint
  1751. interface, or, in the case of a message-driven bean, the
  1752. bean's message listener method, or a set of such
  1753. methods. The ejb-name element must be the name of one of the
  1754. enterprise beans declared in the deployment descriptor; the
  1755. optional method-intf element allows to distinguish between a
  1756. method with the same signature that is multiply defined
  1757. across the business, home, component, and/or web service
  1758. endpoint nterfaces; the method-name element specifies the
  1759. method name; and the optional method-params elements identify
  1760. a single method among multiple methods with an overloaded
  1761. method name.
  1762. There are three possible styles of using methodType element
  1763. within a method element:
  1764. 1.
  1765. <method>
  1766. <ejb-name>EJBNAME</ejb-name>
  1767. <method-name>*</method-name>
  1768. </method>
  1769. This style is used to refer to all the methods of the
  1770. specified enterprise bean's business, home, component,
  1771. and/or web service endpoint interfaces.
  1772. 2.
  1773. <method>
  1774. <ejb-name>EJBNAME</ejb-name>
  1775. <method-name>METHOD</method-name>
  1776. </method>
  1777. This style is used to refer to the specified method of
  1778. the specified enterprise bean. If there are multiple
  1779. methods with the same overloaded name, the element of
  1780. this style refers to all the methods with the overloaded
  1781. name.
  1782. 3.
  1783. <method>
  1784. <ejb-name>EJBNAME</ejb-name>
  1785. <method-name>METHOD</method-name>
  1786. <method-params>
  1787. <method-param>PARAM-1</method-param>
  1788. <method-param>PARAM-2</method-param>
  1789. ...
  1790. <method-param>PARAM-n</method-param>
  1791. </method-params>
  1792. </method>
  1793. This style is used to refer to a single method within a
  1794. set of methods with an overloaded name. PARAM-1 through
  1795. PARAM-n are the fully-qualified Java types of the
  1796. method's input parameters (if the method has no input
  1797. arguments, the method-params element contains no
  1798. method-param elements). Arrays are specified by the
  1799. array element's type, followed by one or more pair of
  1800. square brackets (e.g. int[][]). If there are multiple
  1801. methods with the same overloaded name, this style refers
  1802. to all of the overloaded methods.
  1803. Examples:
  1804. Style 1: The following method element refers to all the
  1805. methods of the EmployeeService bean's business, home,
  1806. component, and/or web service endpoint interfaces:
  1807. <method>
  1808. <ejb-name>EmployeeService</ejb-name>
  1809. <method-name>*</method-name>
  1810. </method>
  1811. Style 2: The following method element refers to all the
  1812. create methods of the EmployeeService bean's home
  1813. interface(s).
  1814. <method>
  1815. <ejb-name>EmployeeService</ejb-name>
  1816. <method-name>create</method-name>
  1817. </method>
  1818. Style 3: The following method element refers to the
  1819. create(String firstName, String LastName) method of the
  1820. EmployeeService bean's home interface(s).
  1821. <method>
  1822. <ejb-name>EmployeeService</ejb-name>
  1823. <method-name>create</method-name>
  1824. <method-params>
  1825. <method-param>java.lang.String</method-param>
  1826. <method-param>java.lang.String</method-param>
  1827. </method-params>
  1828. </method>
  1829. The following example illustrates a Style 3 element with
  1830. more complex parameter types. The method
  1831. foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
  1832. mypackage.MyClass[][] myclaar) would be specified as:
  1833. <method>
  1834. <ejb-name>EmployeeService</ejb-name>
  1835. <method-name>foobar</method-name>
  1836. <method-params>
  1837. <method-param>char</method-param>
  1838. <method-param>int</method-param>
  1839. <method-param>int[]</method-param>
  1840. <method-param>mypackage.MyClass</method-param>
  1841. <method-param>mypackage.MyClass[][]</method-param>
  1842. </method-params>
  1843. </method>
  1844. The optional method-intf element can be used when it becomes
  1845. necessary to differentiate between a method that is multiply
  1846. defined across the enterprise bean's business, home, component,
  1847. and/or web service endpoint interfaces with the same name and
  1848. signature. However, if the same method is a method of both the
  1849. local business interface, and the local component interface,
  1850. the same attribute applies to the method for both interfaces.
  1851. Likewise, if the same method is a method of both the remote
  1852. business interface and the remote component interface, the same
  1853. attribute applies to the method for both interfaces.
  1854. For example, the method element
  1855. <method>
  1856. <ejb-name>EmployeeService</ejb-name>
  1857. <method-intf>Remote</method-intf>
  1858. <method-name>create</method-name>
  1859. <method-params>
  1860. <method-param>java.lang.String</method-param>
  1861. <method-param>java.lang.String</method-param>
  1862. </method-params>
  1863. </method>
  1864. can be used to differentiate the create(String, String)
  1865. method defined in the remote interface from the
  1866. create(String, String) method defined in the remote home
  1867. interface, which would be defined as
  1868. <method>
  1869. <ejb-name>EmployeeService</ejb-name>
  1870. <method-intf>Home</method-intf>
  1871. <method-name>create</method-name>
  1872. <method-params>
  1873. <method-param>java.lang.String</method-param>
  1874. <method-param>java.lang.String</method-param>
  1875. </method-params>
  1876. </method>
  1877. and the create method that is defined in the local home
  1878. interface which would be defined as
  1879. <method>
  1880. <ejb-name>EmployeeService</ejb-name>
  1881. <method-intf>LocalHome</method-intf>
  1882. <method-name>create</method-name>
  1883. <method-params>
  1884. <method-param>java.lang.String</method-param>
  1885. <method-param>java.lang.String</method-param>
  1886. </method-params>
  1887. </method>
  1888. The method-intf element can be used with all three Styles
  1889. of the method element usage. For example, the following
  1890. method element example could be used to refer to all the
  1891. methods of the EmployeeService bean's remote home interface
  1892. and the remote business interface.
  1893. <method>
  1894. <ejb-name>EmployeeService</ejb-name>
  1895. <method-intf>Home</method-intf>
  1896. <method-name>*</method-name>
  1897. </method>
  1898. ]]>
  1899. </xsd:documentation>
  1900. </xsd:annotation>
  1901. <xsd:sequence>
  1902. <xsd:element name="description"
  1903. type="javaee:descriptionType"
  1904. minOccurs="0"
  1905. maxOccurs="unbounded"/>
  1906. <xsd:element name="ejb-name"
  1907. type="javaee:ejb-nameType"/>
  1908. <xsd:element name="method-intf"
  1909. type="javaee:method-intfType"
  1910. minOccurs="0">
  1911. </xsd:element>
  1912. <xsd:element name="method-name"
  1913. type="javaee:method-nameType"/>
  1914. <xsd:element name="method-params"
  1915. type="javaee:method-paramsType"
  1916. minOccurs="0"/>
  1917. </xsd:sequence>
  1918. <xsd:attribute name="id"
  1919. type="xsd:ID"/>
  1920. </xsd:complexType>
  1921. <!-- **************************************************** -->
  1922. <xsd:complexType name="method-intfType">
  1923. <xsd:annotation>
  1924. <xsd:documentation>
  1925. The method-intf element allows a method element to
  1926. differentiate between the methods with the same name and
  1927. signature that are multiply defined across the home and
  1928. component interfaces (e.g, in both an enterprise bean's
  1929. remote and local interfaces or in both an enterprise bean's
  1930. home and remote interfaces, etc.); the component and web
  1931. service endpoint interfaces, and so on.
  1932. Local applies to the local component interface, local business
  1933. interfaces, and the no-interface view.
  1934. Remote applies to both remote component interface and the remote
  1935. business interfaces.
  1936. ServiceEndpoint refers to methods exposed through a web service
  1937. endpoint.
  1938. Timer refers to the bean's timeout callback methods.
  1939. MessageEndpoint refers to the methods of a message-driven bean's
  1940. message-listener interface.
  1941. The method-intf element must be one of the following:
  1942. Home
  1943. Remote
  1944. LocalHome
  1945. Local
  1946. ServiceEndpoint
  1947. Timer
  1948. MessageEndpoint
  1949. </xsd:documentation>
  1950. </xsd:annotation>
  1951. <xsd:simpleContent>
  1952. <xsd:restriction base="javaee:string">
  1953. <xsd:enumeration value="Home"/>
  1954. <xsd:enumeration value="Remote"/>
  1955. <xsd:enumeration value="LocalHome"/>
  1956. <xsd:enumeration value="Local"/>
  1957. <xsd:enumeration value="ServiceEndpoint"/>
  1958. <xsd:enumeration value="Timer"/>
  1959. <xsd:enumeration value="MessageEndpoint"/>
  1960. </xsd:restriction>
  1961. </xsd:simpleContent>
  1962. </xsd:complexType>
  1963. <!-- **************************************************** -->
  1964. <xsd:complexType name="method-nameType">
  1965. <xsd:annotation>
  1966. <xsd:documentation>
  1967. The method-nameType contains a name of an enterprise
  1968. bean method or the asterisk (*) character. The asterisk is
  1969. used when the element denotes all the methods of an
  1970. enterprise bean's client view interfaces.
  1971. </xsd:documentation>
  1972. </xsd:annotation>
  1973. <xsd:simpleContent>
  1974. <xsd:restriction base="javaee:string"/>
  1975. </xsd:simpleContent>
  1976. </xsd:complexType>
  1977. <!-- **************************************************** -->
  1978. <xsd:complexType name="method-paramsType">
  1979. <xsd:annotation>
  1980. <xsd:documentation>
  1981. The method-paramsType defines a list of the
  1982. fully-qualified Java type names of the method parameters.
  1983. </xsd:documentation>
  1984. </xsd:annotation>
  1985. <xsd:sequence>
  1986. <xsd:element name="method-param"
  1987. type="javaee:java-typeType"
  1988. minOccurs="0"
  1989. maxOccurs="unbounded">
  1990. <xsd:annotation>
  1991. <xsd:documentation>
  1992. The method-param element contains a primitive
  1993. or a fully-qualified Java type name of a method
  1994. parameter.
  1995. </xsd:documentation>
  1996. </xsd:annotation>
  1997. </xsd:element>
  1998. </xsd:sequence>
  1999. <xsd:attribute name="id"
  2000. type="xsd:ID"/>
  2001. </xsd:complexType>
  2002. <!-- **************************************************** -->
  2003. <xsd:complexType name="method-permissionType">
  2004. <xsd:annotation>
  2005. <xsd:documentation>
  2006. The method-permissionType specifies that one or more
  2007. security roles are allowed to invoke one or more enterprise
  2008. bean methods. The method-permissionType consists of an
  2009. optional description, a list of security role names or an
  2010. indicator to state that the method is unchecked for
  2011. authorization, and a list of method elements.
  2012. The security roles used in the method-permissionType
  2013. must be defined in the security-role elements of the
  2014. deployment descriptor, and the methods must be methods
  2015. defined in the enterprise bean's business, home, component
  2016. and/or web service endpoint interfaces.
  2017. </xsd:documentation>
  2018. </xsd:annotation>
  2019. <xsd:sequence>
  2020. <xsd:element name="description"
  2021. type="javaee:descriptionType"
  2022. minOccurs="0"
  2023. maxOccurs="unbounded"/>
  2024. <xsd:choice>
  2025. <xsd:element name="role-name"
  2026. type="javaee:role-nameType"
  2027. maxOccurs="unbounded"/>
  2028. <xsd:element name="unchecked"
  2029. type="javaee:emptyType">
  2030. <xsd:annotation>
  2031. <xsd:documentation>
  2032. The unchecked element specifies that a method is
  2033. not checked for authorization by the container
  2034. prior to invocation of the method.
  2035. </xsd:documentation>
  2036. </xsd:annotation>
  2037. </xsd:element>
  2038. </xsd:choice>
  2039. <xsd:element name="method"
  2040. type="javaee:methodType"
  2041. maxOccurs="unbounded"/>
  2042. </xsd:sequence>
  2043. <xsd:attribute name="id"
  2044. type="xsd:ID"/>
  2045. </xsd:complexType>
  2046. <!-- **************************************************** -->
  2047. <xsd:complexType name="multiplicityType">
  2048. <xsd:annotation>
  2049. <xsd:documentation>
  2050. The multiplicityType describes the multiplicity of the
  2051. role that participates in a relation.
  2052. The value must be one of the two following:
  2053. One
  2054. Many
  2055. </xsd:documentation>
  2056. </xsd:annotation>
  2057. <xsd:simpleContent>
  2058. <xsd:restriction base="javaee:string">
  2059. <xsd:enumeration value="One"/>
  2060. <xsd:enumeration value="Many"/>
  2061. </xsd:restriction>
  2062. </xsd:simpleContent>
  2063. </xsd:complexType>
  2064. <!-- **************************************************** -->
  2065. <xsd:complexType name="persistence-typeType">
  2066. <xsd:annotation>
  2067. <xsd:documentation>
  2068. The persistence-typeType specifies an entity bean's persistence
  2069. management type.
  2070. The persistence-type element must be one of the two following:
  2071. Bean
  2072. Container
  2073. </xsd:documentation>
  2074. </xsd:annotation>
  2075. <xsd:simpleContent>
  2076. <xsd:restriction base="javaee:string">
  2077. <xsd:enumeration value="Bean"/>
  2078. <xsd:enumeration value="Container"/>
  2079. </xsd:restriction>
  2080. </xsd:simpleContent>
  2081. </xsd:complexType>
  2082. <!-- **************************************************** -->
  2083. <xsd:complexType name="queryType">
  2084. <xsd:annotation>
  2085. <xsd:documentation>
  2086. The queryType defines a finder or select
  2087. query. It contains
  2088. - an optional description of the query
  2089. - the specification of the finder or select
  2090. method it is used by
  2091. - an optional specification of the result type
  2092. mapping, if the query is for a select method
  2093. and entity objects are returned.
  2094. - the EJB QL query string that defines the query.
  2095. Queries that are expressible in EJB QL must use the ejb-ql
  2096. element to specify the query. If a query is not expressible
  2097. in EJB QL, the description element should be used to
  2098. describe the semantics of the query and the ejb-ql element
  2099. should be empty.
  2100. The result-type-mapping is an optional element. It can only
  2101. be present if the query-method specifies a select method
  2102. that returns entity objects. The default value for the
  2103. result-type-mapping element is "Local".
  2104. </xsd:documentation>
  2105. </xsd:annotation>
  2106. <xsd:sequence>
  2107. <xsd:element name="description"
  2108. type="javaee:descriptionType"
  2109. minOccurs="0"/>
  2110. <xsd:element name="query-method"
  2111. type="javaee:query-methodType"/>
  2112. <xsd:element name="result-type-mapping"
  2113. type="javaee:result-type-mappingType"
  2114. minOccurs="0"/>
  2115. <xsd:element name="ejb-ql"
  2116. type="javaee:xsdStringType"/>
  2117. </xsd:sequence>
  2118. <xsd:attribute name="id"
  2119. type="xsd:ID"/>
  2120. </xsd:complexType>
  2121. <!-- **************************************************** -->
  2122. <xsd:complexType name="query-methodType">
  2123. <xsd:annotation>
  2124. <xsd:documentation>
  2125. <![CDATA[[
  2126. The query-method specifies the method for a finder or select
  2127. query.
  2128. The method-name element specifies the name of a finder or select
  2129. method in the entity bean's implementation class.
  2130. Each method-param must be defined for a query-method using the
  2131. method-params element.
  2132. It is used by the query-method element.
  2133. Example:
  2134. <query>
  2135. <description>Method finds large orders</description>
  2136. <query-method>
  2137. <method-name>findLargeOrders</method-name>
  2138. <method-params></method-params>
  2139. </query-method>
  2140. <ejb-ql>
  2141. SELECT OBJECT(o) FROM Order o
  2142. WHERE o.amount &gt; 1000
  2143. </ejb-ql>
  2144. </query>
  2145. ]]>
  2146. </xsd:documentation>
  2147. </xsd:annotation>
  2148. <xsd:sequence>
  2149. <xsd:element name="method-name"
  2150. type="javaee:method-nameType"/>
  2151. <xsd:element name="method-params"
  2152. type="javaee:method-paramsType"/>
  2153. </xsd:sequence>
  2154. <xsd:attribute name="id"
  2155. type="xsd:ID"/>
  2156. </xsd:complexType>
  2157. <!-- **************************************************** -->
  2158. <xsd:complexType name="relationship-role-sourceType">
  2159. <xsd:annotation>
  2160. <xsd:documentation>
  2161. The relationship-role-sourceType designates the source of a
  2162. role that participates in a relationship. A
  2163. relationship-role-sourceType is used by
  2164. relationship-role-source elements to uniquely identify an
  2165. entity bean.
  2166. </xsd:documentation>
  2167. </xsd:annotation>
  2168. <xsd:sequence>
  2169. <xsd:element name="description"
  2170. type="javaee:descriptionType"
  2171. minOccurs="0"
  2172. maxOccurs="unbounded"/>
  2173. <xsd:element name="ejb-name"
  2174. type="javaee:ejb-nameType"/>
  2175. </xsd:sequence>
  2176. <xsd:attribute name="id"
  2177. type="xsd:ID"/>
  2178. </xsd:complexType>
  2179. <!-- **************************************************** -->
  2180. <xsd:complexType name="relationshipsType">
  2181. <xsd:annotation>
  2182. <xsd:documentation>
  2183. The relationshipsType describes the relationships in
  2184. which entity beans with container-managed persistence
  2185. participate. The relationshipsType contains an optional
  2186. description; and a list of ejb-relation elements, which
  2187. specify the container managed relationships.
  2188. </xsd:documentation>
  2189. </xsd:annotation>
  2190. <xsd:sequence>
  2191. <xsd:element name="description"
  2192. type="javaee:descriptionType"
  2193. minOccurs="0"
  2194. maxOccurs="unbounded"/>
  2195. <xsd:element name="ejb-relation"
  2196. type="javaee:ejb-relationType"
  2197. maxOccurs="unbounded">
  2198. <xsd:unique name="role-name-uniqueness">
  2199. <xsd:annotation>
  2200. <xsd:documentation>
  2201. The ejb-relationship-role-name contains the name of a
  2202. relationship role. The name must be unique within
  2203. a relationship, but can be reused in different
  2204. relationships.
  2205. </xsd:documentation>
  2206. </xsd:annotation>
  2207. <xsd:selector xpath=".//javaee:ejb-relationship-role-name"/>
  2208. <xsd:field xpath="."/>
  2209. </xsd:unique>
  2210. </xsd:element>
  2211. </xsd:sequence>
  2212. <xsd:attribute name="id"
  2213. type="xsd:ID"/>
  2214. </xsd:complexType>
  2215. <!-- **************************************************** -->
  2216. <xsd:complexType name="result-type-mappingType">
  2217. <xsd:annotation>
  2218. <xsd:documentation>
  2219. The result-type-mappingType is used in the query element to
  2220. specify whether an abstract schema type returned by a query
  2221. for a select method is to be mapped to an EJBLocalObject or
  2222. EJBObject type.
  2223. The value must be one of the following:
  2224. Local
  2225. Remote
  2226. </xsd:documentation>
  2227. </xsd:annotation>
  2228. <xsd:simpleContent>
  2229. <xsd:restriction base="javaee:string">
  2230. <xsd:enumeration value="Local"/>
  2231. <xsd:enumeration value="Remote"/>
  2232. </xsd:restriction>
  2233. </xsd:simpleContent>
  2234. </xsd:complexType>
  2235. <!-- **************************************************** -->
  2236. <xsd:complexType name="security-identityType">
  2237. <xsd:annotation>
  2238. <xsd:documentation>
  2239. The security-identityType specifies whether the caller's
  2240. security identity is to be used for the execution of the
  2241. methods of the enterprise bean or whether a specific run-as
  2242. identity is to be used. It contains an optional description
  2243. and a specification of the security identity to be used.
  2244. </xsd:documentation>
  2245. </xsd:annotation>
  2246. <xsd:sequence>
  2247. <xsd:element name="description"
  2248. type="javaee:descriptionType"
  2249. minOccurs="0"
  2250. maxOccurs="unbounded"/>
  2251. <xsd:choice>
  2252. <xsd:element name="use-caller-identity"
  2253. type="javaee:emptyType">
  2254. <xsd:annotation>
  2255. <xsd:documentation>
  2256. The use-caller-identity element specifies that
  2257. the caller's security identity be used as the
  2258. security identity for the execution of the
  2259. enterprise bean's methods.
  2260. </xsd:documentation>
  2261. </xsd:annotation>
  2262. </xsd:element>
  2263. <xsd:element name="run-as"
  2264. type="javaee:run-asType"/>
  2265. </xsd:choice>
  2266. </xsd:sequence>
  2267. <xsd:attribute name="id"
  2268. type="xsd:ID"/>
  2269. </xsd:complexType>
  2270. <!-- **************************************************** -->
  2271. <xsd:complexType name="session-beanType">
  2272. <xsd:annotation>
  2273. <xsd:documentation>
  2274. The session-beanType declares an session bean. The
  2275. declaration consists of:
  2276. - an optional description
  2277. - an optional display name
  2278. - an optional icon element that contains a small and a large
  2279. icon file name
  2280. - a name assigned to the enterprise bean
  2281. in the deployment description
  2282. - an optional mapped-name element that can be used to provide
  2283. vendor-specific deployment information such as the physical
  2284. jndi-name of the session bean's remote home/business interface.
  2285. This element is not required to be supported by all
  2286. implementations. Any use of this element is non-portable.
  2287. - the names of all the remote or local business interfaces,
  2288. if any
  2289. - the names of the session bean's remote home and
  2290. remote interfaces, if any
  2291. - the names of the session bean's local home and
  2292. local interfaces, if any
  2293. - an optional declaration that this bean exposes a
  2294. no-interface view
  2295. - the name of the session bean's web service endpoint
  2296. interface, if any
  2297. - the session bean's implementation class
  2298. - the session bean's state management type
  2299. - an optional declaration of a stateful session bean's timeout value
  2300. - an optional declaration of the session bean's timeout method for
  2301. handling programmatically created timers
  2302. - an optional declaration of timers to be automatically created at
  2303. deployment time
  2304. - an optional declaration that a Singleton bean has eager
  2305. initialization
  2306. - an optional declaration of a Singleton/Stateful bean's concurrency
  2307. management type
  2308. - an optional declaration of the method locking metadata
  2309. for a Singleton with container managed concurrency
  2310. - an optional declaration of the other Singleton beans in the
  2311. application that must be initialized before this bean
  2312. - an optional declaration of the session bean's asynchronous
  2313. methods
  2314. - the optional session bean's transaction management type.
  2315. If it is not present, it is defaulted to Container.
  2316. - an optional declaration of a stateful session bean's
  2317. afterBegin, beforeCompletion, and/or afterCompletion methods
  2318. - an optional list of the session bean class and/or
  2319. superclass around-invoke methods.
  2320. - an optional list of the session bean class and/or
  2321. superclass around-timeout methods.
  2322. - an optional declaration of the bean's
  2323. environment entries
  2324. - an optional declaration of the bean's EJB references
  2325. - an optional declaration of the bean's local
  2326. EJB references
  2327. - an optional declaration of the bean's web
  2328. service references
  2329. - an optional declaration of the security role
  2330. references
  2331. - an optional declaration of the security identity
  2332. to be used for the execution of the bean's methods
  2333. - an optional declaration of the bean's resource
  2334. manager connection factory references
  2335. - an optional declaration of the bean's resource
  2336. environment references.
  2337. - an optional declaration of the bean's message
  2338. destination references
  2339. The elements that are optional are "optional" in the sense
  2340. that they are omitted when if lists represented by them are
  2341. empty.
  2342. The service-endpoint element may only be specified if the
  2343. bean is a stateless session bean.
  2344. </xsd:documentation>
  2345. </xsd:annotation>
  2346. <xsd:sequence>
  2347. <xsd:group ref="javaee:descriptionGroup"/>
  2348. <xsd:element name="ejb-name"
  2349. type="javaee:ejb-nameType"/>
  2350. <xsd:element name="mapped-name"
  2351. type="javaee:xsdStringType"
  2352. minOccurs="0"/>
  2353. <xsd:element name="home"
  2354. type="javaee:homeType"
  2355. minOccurs="0"/>
  2356. <xsd:element name="remote"
  2357. type="javaee:remoteType"
  2358. minOccurs="0"/>
  2359. <xsd:element name="local-home"
  2360. type="javaee:local-homeType"
  2361. minOccurs="0"/>
  2362. <xsd:element name="local"
  2363. type="javaee:localType"
  2364. minOccurs="0"/>
  2365. <xsd:element name="business-local"
  2366. type="javaee:fully-qualified-classType"
  2367. minOccurs="0"
  2368. maxOccurs="unbounded"/>
  2369. <xsd:element name="business-remote"
  2370. type="javaee:fully-qualified-classType"
  2371. minOccurs="0"
  2372. maxOccurs="unbounded"/>
  2373. <xsd:element name="local-bean"
  2374. type="javaee:emptyType"
  2375. minOccurs="0">
  2376. <xsd:annotation>
  2377. <xsd:documentation>
  2378. The local-bean element declares that this
  2379. session bean exposes a no-interface Local client view.
  2380. </xsd:documentation>
  2381. </xsd:annotation>
  2382. </xsd:element>
  2383. <xsd:element name="service-endpoint"
  2384. type="javaee:fully-qualified-classType"
  2385. minOccurs="0">
  2386. <xsd:annotation>
  2387. <xsd:documentation>
  2388. The service-endpoint element contains the
  2389. fully-qualified name of the enterprise bean's web
  2390. service endpoint interface. The service-endpoint
  2391. element may only be specified for a stateless
  2392. session bean. The specified interface must be a
  2393. valid JAX-RPC service endpoint interface.
  2394. </xsd:documentation>
  2395. </xsd:annotation>
  2396. </xsd:element>
  2397. <xsd:element name="ejb-class"
  2398. type="javaee:ejb-classType"
  2399. minOccurs="0">
  2400. <xsd:annotation>
  2401. <xsd:documentation>
  2402. The ejb-class element specifies the fully qualified name
  2403. of the bean class for this ejb. It is required unless
  2404. there is a component-defining annotation for the same
  2405. ejb-name.
  2406. </xsd:documentation>
  2407. </xsd:annotation>
  2408. </xsd:element>
  2409. <xsd:element name="session-type"
  2410. type="javaee:session-typeType"
  2411. minOccurs="0"/>
  2412. <xsd:element name="stateful-timeout"
  2413. type="javaee:stateful-timeoutType"
  2414. minOccurs="0"/>
  2415. <xsd:element name="timeout-method"
  2416. type="javaee:named-methodType"
  2417. minOccurs="0">
  2418. <xsd:annotation>
  2419. <xsd:documentation>
  2420. The timeout-method element specifies the method that
  2421. will receive callbacks for programmatically
  2422. created timers.
  2423. </xsd:documentation>
  2424. </xsd:annotation>
  2425. </xsd:element>
  2426. <xsd:element name="timer"
  2427. type="javaee:timerType"
  2428. minOccurs="0"
  2429. maxOccurs="unbounded"/>
  2430. <xsd:element name="init-on-startup"
  2431. type="javaee:true-falseType"
  2432. minOccurs="0">
  2433. <xsd:annotation>
  2434. <xsd:documentation>
  2435. The init-on-startup element specifies that a Singleton
  2436. bean has eager initialization.
  2437. This element can only be specified for singleton session
  2438. beans.
  2439. </xsd:documentation>
  2440. </xsd:annotation>
  2441. </xsd:element>
  2442. <xsd:element name="concurrency-management-type"
  2443. type="javaee:concurrency-management-typeType"
  2444. minOccurs="0"/>
  2445. <xsd:element name="concurrent-method"
  2446. type="javaee:concurrent-methodType"
  2447. minOccurs="0"
  2448. maxOccurs="unbounded"/>
  2449. <xsd:element name="depends-on"
  2450. type="javaee:depends-onType"
  2451. minOccurs="0"/>
  2452. <xsd:element name="init-method"
  2453. type="javaee:init-methodType"
  2454. minOccurs="0"
  2455. maxOccurs="unbounded">
  2456. <xsd:annotation>
  2457. <xsd:documentation>
  2458. The init-method element specifies the mappings for
  2459. EJB 2.x style create methods for an EJB 3.x bean.
  2460. This element can only be specified for stateful
  2461. session beans.
  2462. </xsd:documentation>
  2463. </xsd:annotation>
  2464. </xsd:element>
  2465. <xsd:element name="remove-method"
  2466. type="javaee:remove-methodType"
  2467. minOccurs="0"
  2468. maxOccurs="unbounded">
  2469. <xsd:annotation>
  2470. <xsd:documentation>
  2471. The remove-method element specifies the mappings for
  2472. EJB 2.x style remove methods for an EJB 3.x bean.
  2473. This element can only be specified for stateful
  2474. session beans.
  2475. </xsd:documentation>
  2476. </xsd:annotation>
  2477. </xsd:element>
  2478. <xsd:element name="async-method"
  2479. type="javaee:async-methodType"
  2480. minOccurs="0"
  2481. maxOccurs="unbounded"/>
  2482. <xsd:element name="transaction-type"
  2483. type="javaee:transaction-typeType"
  2484. minOccurs="0"/>
  2485. <xsd:element name="after-begin-method"
  2486. type="javaee:named-methodType"
  2487. minOccurs="0"/>
  2488. <xsd:element name="before-completion-method"
  2489. type="javaee:named-methodType"
  2490. minOccurs="0"/>
  2491. <xsd:element name="after-completion-method"
  2492. type="javaee:named-methodType"
  2493. minOccurs="0"/>
  2494. <xsd:element name="around-invoke"
  2495. type="javaee:around-invokeType"
  2496. minOccurs="0"
  2497. maxOccurs="unbounded"/>
  2498. <xsd:element name="around-timeout"
  2499. type="javaee:around-timeoutType"
  2500. minOccurs="0"
  2501. maxOccurs="unbounded"/>
  2502. <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
  2503. <xsd:element name="post-activate"
  2504. type="javaee:lifecycle-callbackType"
  2505. minOccurs="0"
  2506. maxOccurs="unbounded"/>
  2507. <xsd:element name="pre-passivate"
  2508. type="javaee:lifecycle-callbackType"
  2509. minOccurs="0"
  2510. maxOccurs="unbounded"/>
  2511. <xsd:element name="security-role-ref"
  2512. type="javaee:security-role-refType"
  2513. minOccurs="0"
  2514. maxOccurs="unbounded">
  2515. </xsd:element>
  2516. <xsd:element name="security-identity"
  2517. type="javaee:security-identityType"
  2518. minOccurs="0">
  2519. </xsd:element>
  2520. </xsd:sequence>
  2521. <xsd:attribute name="id"
  2522. type="xsd:ID"/>
  2523. </xsd:complexType>
  2524. <!-- **************************************************** -->
  2525. <xsd:complexType name="session-typeType">
  2526. <xsd:annotation>
  2527. <xsd:documentation>
  2528. The session-typeType describes whether the session bean is a
  2529. singleton, stateful or stateless session. It is used by
  2530. session-type elements.
  2531. The value must be one of the three following:
  2532. Singleton
  2533. Stateful
  2534. Stateless
  2535. </xsd:documentation>
  2536. </xsd:annotation>
  2537. <xsd:simpleContent>
  2538. <xsd:restriction base="javaee:string">
  2539. <xsd:enumeration value="Singleton"/>
  2540. <xsd:enumeration value="Stateful"/>
  2541. <xsd:enumeration value="Stateless"/>
  2542. </xsd:restriction>
  2543. </xsd:simpleContent>
  2544. </xsd:complexType>
  2545. <!-- **************************************************** -->
  2546. <xsd:complexType name="stateful-timeoutType">
  2547. <xsd:annotation>
  2548. <xsd:documentation>
  2549. The stateful-timeoutType represents the amount of time
  2550. a stateful session bean can be idle(not receive any client
  2551. invocations) before it is eligible for removal by the container.
  2552. A timeout value of 0 means the bean is immediately eligible for removal.
  2553. A timeout value of -1 means the bean will never be removed due to timeout.
  2554. </xsd:documentation>
  2555. </xsd:annotation>
  2556. <xsd:sequence>
  2557. <xsd:element name="timeout"
  2558. type="javaee:xsdIntegerType"/>
  2559. <xsd:element name="unit"
  2560. type="javaee:time-unit-typeType"/>
  2561. </xsd:sequence>
  2562. <xsd:attribute name="id"
  2563. type="xsd:ID"/>
  2564. </xsd:complexType>
  2565. <!-- **************************************************** -->
  2566. <xsd:complexType name="time-unit-typeType">
  2567. <xsd:annotation>
  2568. <xsd:documentation>
  2569. The time-unit-typeType represents a time duration at a given
  2570. unit of granularity.
  2571. The time unit type must be one of the following :
  2572. Days
  2573. Hours
  2574. Minutes
  2575. Seconds
  2576. Milliseconds
  2577. Microseconds
  2578. Nanoseconds
  2579. </xsd:documentation>
  2580. </xsd:annotation>
  2581. <xsd:simpleContent>
  2582. <xsd:restriction base="javaee:string">
  2583. <xsd:enumeration value="Days"/>
  2584. <xsd:enumeration value="Hours"/>
  2585. <xsd:enumeration value="Minutes"/>
  2586. <xsd:enumeration value="Seconds"/>
  2587. <xsd:enumeration value="Milliseconds"/>
  2588. <xsd:enumeration value="Microseconds"/>
  2589. <xsd:enumeration value="Nanoseconds"/>
  2590. </xsd:restriction>
  2591. </xsd:simpleContent>
  2592. </xsd:complexType>
  2593. <!-- **************************************************** -->
  2594. <xsd:complexType name="timer-scheduleType">
  2595. <xsd:sequence>
  2596. <xsd:element name="second"
  2597. type="javaee:string"
  2598. minOccurs="0"/>
  2599. <xsd:element name="minute"
  2600. type="javaee:string"
  2601. minOccurs="0"/>
  2602. <xsd:element name="hour"
  2603. type="javaee:string"
  2604. minOccurs="0"/>
  2605. <xsd:element name="day-of-month"
  2606. type="javaee:string"
  2607. minOccurs="0"/>
  2608. <xsd:element name="month"
  2609. type="javaee:string"
  2610. minOccurs="0"/>
  2611. <xsd:element name="day-of-week"
  2612. type="javaee:string"
  2613. minOccurs="0"/>
  2614. <xsd:element name="year"
  2615. type="javaee:string"
  2616. minOccurs="0"/>
  2617. </xsd:sequence>
  2618. <xsd:attribute name="id"
  2619. type="xsd:ID"/>
  2620. </xsd:complexType>
  2621. <!-- **************************************************** -->
  2622. <xsd:complexType name="timerType">
  2623. <xsd:annotation>
  2624. <xsd:documentation>
  2625. The timerType specifies an enterprise bean timer. Each
  2626. timer is automatically created by the container upon
  2627. deployment. Timer callbacks occur based on the
  2628. schedule attributes. All callbacks are made to the
  2629. timeout-method associated with the timer.
  2630. A timer can have an optional start and/or end date. If
  2631. a start date is specified, it takes precedence over the
  2632. associated timer schedule such that any matching
  2633. expirations prior to the start time will not occur.
  2634. Likewise, no matching expirations will occur after any
  2635. end date. Start/End dates are specified using the
  2636. XML Schema dateTime type, which follows the ISO-8601
  2637. standard for date(and optional time-within-the-day)
  2638. representation.
  2639. An optional flag can be used to control whether
  2640. this timer has persistent(true) delivery semantics or
  2641. non-persistent(false) delivery semantics. If not specified,
  2642. the value defaults to persistent(true).
  2643. A time zone can optionally be associated with a timer.
  2644. If specified, the timer's schedule is evaluated in the context
  2645. of that time zone, regardless of the default time zone in which
  2646. the container is executing. Time zones are specified as an
  2647. ID string. The set of required time zone IDs is defined by
  2648. the Zone Name(TZ) column of the public domain zoneinfo database.
  2649. An optional info string can be assigned to the timer and
  2650. retrieved at runtime through the Timer.getInfo() method.
  2651. The timerType can only be specified on stateless session
  2652. beans, singleton session beans, and message-driven beans.
  2653. </xsd:documentation>
  2654. </xsd:annotation>
  2655. <xsd:sequence>
  2656. <xsd:element name="description"
  2657. type="javaee:descriptionType"
  2658. minOccurs="0"
  2659. maxOccurs="unbounded"/>
  2660. <xsd:element name="schedule"
  2661. type="javaee:timer-scheduleType"/>
  2662. <xsd:element name="start"
  2663. type="xsd:dateTime"
  2664. minOccurs="0"/>
  2665. <xsd:element name="end"
  2666. type="xsd:dateTime"
  2667. minOccurs="0"/>
  2668. <xsd:element name="timeout-method"
  2669. type="javaee:named-methodType"/>
  2670. <xsd:element name="persistent"
  2671. type="javaee:true-falseType"
  2672. minOccurs="0"/>
  2673. <xsd:element name="timezone"
  2674. type="javaee:string"
  2675. minOccurs="0"/>
  2676. <xsd:element name="info"
  2677. type="javaee:string"
  2678. minOccurs="0"/>
  2679. </xsd:sequence>
  2680. <xsd:attribute name="id"
  2681. type="xsd:ID"/>
  2682. </xsd:complexType>
  2683. <!-- **************************************************** -->
  2684. <xsd:complexType name="trans-attributeType">
  2685. <xsd:annotation>
  2686. <xsd:documentation>
  2687. The trans-attributeType specifies how the container must
  2688. manage the transaction boundaries when delegating a method
  2689. invocation to an enterprise bean's business method.
  2690. The value must be one of the following:
  2691. NotSupported
  2692. Supports
  2693. Required
  2694. RequiresNew
  2695. Mandatory
  2696. Never
  2697. </xsd:documentation>
  2698. </xsd:annotation>
  2699. <xsd:simpleContent>
  2700. <xsd:restriction base="javaee:string">
  2701. <xsd:enumeration value="NotSupported"/>
  2702. <xsd:enumeration value="Supports"/>
  2703. <xsd:enumeration value="Required"/>
  2704. <xsd:enumeration value="RequiresNew"/>
  2705. <xsd:enumeration value="Mandatory"/>
  2706. <xsd:enumeration value="Never"/>
  2707. </xsd:restriction>
  2708. </xsd:simpleContent>
  2709. </xsd:complexType>
  2710. <!-- **************************************************** -->
  2711. <xsd:complexType name="transaction-typeType">
  2712. <xsd:annotation>
  2713. <xsd:documentation>
  2714. The transaction-typeType specifies an enterprise bean's
  2715. transaction management type.
  2716. The transaction-type must be one of the two following:
  2717. Bean
  2718. Container
  2719. </xsd:documentation>
  2720. </xsd:annotation>
  2721. <xsd:simpleContent>
  2722. <xsd:restriction base="javaee:string">
  2723. <xsd:enumeration value="Bean"/>
  2724. <xsd:enumeration value="Container"/>
  2725. </xsd:restriction>
  2726. </xsd:simpleContent>
  2727. </xsd:complexType>
  2728. </xsd:schema>