glassfish 0.1.1-universal-java-1.5

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