cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Redko (Confluence)" <conflue...@apache.org>
Subject [CONF] Apache CXF Documentation > Using CXF and CDI 1.1 (JSR-346)
Date Thu, 17 Apr 2014 22:26:00 GMT
<html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <base href="https://cwiki.apache.org/confluence" />
        <style type="text/css">
    body, #email-content, #email-content-inner { font-family: Arial,FreeSans,Helvetica,sans-serif;
}
    body, p, blockquote, pre, code, td, th, li, dt, dd { font-size: 13px; }
    small { font-size: 11px; }

    body { width:100% !important; -webkit-font-smoothing: antialiased; }

    body,
    #email-wrapper { background-color: #f0f0f0; }
    #email-wrapper-inner { padding: 20px; text-align: center; }
    #email-content-inner { background-color: #fff; border: 1px solid #bbb; color: $menuTxtColour;
padding:20px; text-align:left; }
    #email-wrapper-inner > table { width: 100%; }
    #email-wrapper-inner.thin > table { margin: 0 auto; width: 50%; }
    #email-footer { padding: 0 16px 32px 16px; margin: 0; }

    .email-indent { margin: 8px 0 16px 0; }
    .email-comment { margin: 0 0 0 56px; }
    .email-comment.removed { background-color: #ffe7e7; border: 1px solid #df9898; padding:
0 8px;}

    #email-title-avatar { text-align: left; vertical-align: top; width: 48px; padding-right:
8px; }
    #email-title-flavor { margin: 0; padding: 0 0 4px 0; }
    #email-title-heading { font-size: 16px; line-height: 20px; min-height: 20px; margin: 0;
padding: 0; }
    #email-title .icon { border: 0; padding: 0 5px 0 0; text-align: left; vertical-align:
middle; }

    #email-actions { border-top: 1px solid #bbb; color: #505050; margin: 8px 0 0 0; padding:
0; }
    #email-actions td { padding-top: 8px; }
    #email-actions .left { max-width: 45%; text-align: left; }
    #email-actions .right { text-align: right; }
    .email-reply-divider { border-top: 1px solid #bbb; color: #505050; margin: 32px 0 8px
0; padding: 8px 0; }
    .email-section-title { border-bottom: 1px solid #bbb; margin: 8px 0; padding: 8px 0 0
0; }

    .email-metadata { color: #505050; }

    a { color: #326ca6; text-decoration: none; }
    a:hover { color: #336ca6; text-decoration: underline; }
    a:active {color: #326ca6; }

    a.email-footer-link { color: #505050; font-size: 11px; }

    .email-item-list { list-style: none; margin: 4px 0; padding-left: 0; }
    .email-item-list li { list-style: none; margin: 0; padding: 4px 0; }
    .email-list-divider { color: #505050; padding: 0 0.35em; }
    .email-operation-icon { padding-right: 5px; }

    .avatar { -ms-interpolation-mode: bicubic; border-radius: 3px;}
    .avatar-link { margin: 2px; }

    .tableview th { border-bottom: 1px solid #69C; font-weight: bold; text-align: left; }
    .tableview td { border-bottom: 1px solid #bbbbbb; text-align: left; padding: 4px 16px
4px 0; }

    .aui-message {  margin: 1em 0; padding: 8px; }
    .aui-message.info { background-color: #e0f0ff; border: 1px solid #9eb6d4; }
    .aui-message.success { background-color: #ddfade; border: 1px solid #93c49f; }
    .aui-message.error,
    .aui-message.removed { background-color: #ffe7e7; border: 1px solid #df9898; color: #000;
}

    .call-to-action-table { margin: 10px 1px 1px 1px;}
    .call-to-cancel-container, .call-to-action-container { padding: 5px 20px; }
    .call-to-cancel-container { border: 1px solid #aaa; background-color: #eee; border-radius:
3px; }
    .call-to-cancel-container a.call-to-cancel-button { background-color: #eee; font-size:
14px; line-height: 1; padding: 0; margin: 0; color: #666; font-family: sans-serif;}
    .call-to-action-container { border: 1px solid #486582;  background-color: #3068A2; border-radius:
3px; padding: 4px 10px; }
    .call-to-action-container a.call-to-action-button { background-color: #3068A2; font-size:
14px; line-height: 1; padding: 0; margin: 0; color: #fff; font-weight: bold; font-family:
sans-serif; }

    /** The span around the inline task checkbox image */
    .diff-inline-task-overlay {
        display: inline-block;
        text-align: center;
        height: 1.5em;
        padding: 5px 0px 1px 5px;
        margin-right: 5px;
        /** Unfortunately, the negative margin-left is stripped out in gmail */
        margin-left: -5px;
    }

            @media handheld, only screen and (max-device-width: 480px) {
        div, a, p, td, th, li, dt, dd { -webkit-text-size-adjust: auto; }
        small, small a { -webkit-text-size-adjust: 90%; }

        td[id=email-wrapper-inner] { padding: 2px !important; }
        td[id=email-content-inner] { padding: 8px !important; }
        td[id="email-wrapper-inner"][class="thin"] > table { text-align: left !important;
width: 100% !important; }
        td[id=email-footer] { padding: 8px 12px !important; }
        div[class=email-indent] { margin: 8px 0px !important; }
        div[class=email-comment] { margin: 0 !important; }

        p[id=email-title-flavor] a { display: block; } /* puts the username and the action
on separate lines */
        p[id=email-permalink] { padding: 4px 0 0 0 !important; }

        table[id=email-actions] td { padding-top: 0 !important; }
        table[id=email-actions] td.right { text-align: right !important; }
        table[id=email-actions] .email-list-item { display: block; margin: 1em 0 !important;
word-wrap: normal !important; }
        span[class=email-list-divider] { display: none; }
    }



        </style>
    </head>
    <body style="font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px;
width: 100%; -webkit-font-smoothing: antialiased; background-color: #f0f0f0">
        <table id="email-wrapper" width="100%" cellspacing="0" cellpadding="0" border="0"
style="background-color: #f0f0f0">
            <tbody>
                <tr valign="middle">
                    <td id="email-wrapper-inner" style="font-size: 13px; padding: 20px;
text-align: center">
                        <table id="email-content" cellspacing="0" cellpadding="0" border="0"
style="font-family: Arial, FreeSans, Helvetica, sans-serif; width: 100%">
                            <tbody>
                                <tr valign="top">
                                    <td id="email-content-inner" align="left" style="font-family:
Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; background-color: #fff; border: 1px
solid #bbb; padding: 20px; text-align: left">
                                        <table id="email-title" cellpadding="0" cellspacing="0"
border="0" width="100%">
                                            <tbody>
                                                <tr>
                                                    <td id="email-title-avatar" rowspan="2"
style="font-size: 13px; text-align: left; vertical-align: top; width: 48px; padding-right:
8px"> <img class="avatar" src="cid:avatar_ab5fbe254d9d8b5e9b7552b29a754efe" border="0"
height="48" width="48" style="-ms-interpolation-mode: bicubic; border-radius: 3px" /> </td>
                                                    <td valign="top" style="font-size:
13px">
                                                        <div id="email-title-flavor" class="email-metadata"
style="margin: 0; padding: 0 0 4px 0; color: #505050">
                                                            <a href="    https://cwiki.apache.org/confluence/display/~reta
" style="color:#326ca6;text-decoration:none;; color: #326ca6; text-decoration: none">Andrew
Redko</a> edited the page:
                                                        </div> </td>
                                                </tr>
                                                <tr>
                                                    <td valign="top" style="font-size:
13px"> <h2 id="email-title-heading" style="font-size: 16px; line-height: 20px; min-height:
20px; margin: 0; padding: 0"> <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=40509086"
style="color: #326ca6; text-decoration: none"> <img class="icon" src="cid:page-icon"
alt="" style="border: 0; padding: 0 5px 0 0; text-align: left; vertical-align: middle" />
<strong style="font-size:16px;line-height:20px;vertical-align:top;">Using CXF and CDI
1.1 (JSR-346)</strong> </a> </h2> </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                        <div class="email-indent" style="margin: 8px 0
16px 0">
                                            <div class="email-diff">
                                                <div id="page-diffs" class="wiki-content">
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" id="removed-diff-0" style="font-size:
100%; background-color: #ffe7e7; text-decoration: line-through;">&nbsp;</span>
</p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <h1 id="UsingCXFandCDI1.1(JSR-346)-Introduction"
class="diff-block-context">Introduction&nbsp;</h1>
                                                    <p class="diff-block-context" style="font-size:
13px">The JAX-RS 2.0 specification (JSR-339) mandates the support of CDI and Apache CXF
starting from the version 3.0 introduces the initial support of this feature. As the starting
point, the emphasis has been done on supporting embedded Jety 8/9 and Tomcat 7/8 containers
as primary deployment (though other application servers will be supported in the future).&nbsp;</p>
                                                    <p class="diff-context-placeholder"
style="font-size: 13px">...</p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px">With <strong>Jetty 8/9</strong> it possible to create
fully embeddable REST / JAX-RS servers without <strong>web.xml</strong> or <strong>WAR</strong>&nbsp;files
involved. For Apache CXF applications which are using CDI 1.1, the&nbsp;<strong>CXFCdiServlet</strong>&nbsp;servlet
should be used as a starting point. Following <span class="diff-html-removed" id="removed-diff-1"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">examples
</span><span class="diff-html-added" id="added-diff-0" style="font-size: 100%; background-color:
#ddfade;">example </span>demonstrates the necessary configuration points in order
to create <span class="diff-html-removed" id="removed-diff-2" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">embedded &nbsp; </span><span class="diff-html-added"
id="added-diff-1" style="font-size: 100%; background-color: #ddfade;">embedded&nbsp;
</span><strong>Jetty 8/9</strong> instance. </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-added" id="added-diff-2" style="font-size:
100%; background-color: #ddfade;">As a CDI 1.1 implementatoin, JBoss Weld 2.0 is being
used.</span> </p>
                                                    <table class="diff-macro diff-block-target
diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px
1px;padding: 0 2px 2px;width: 100%;">
                                                        <thead>
                                                            <tr>
                                                                <th class="diff-macro-title"
style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;;
font-size: 13px"><span class="icon macro-placeholder-icon" style="background-color:
;line-height: 20px;"><img src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/plugins/servlet/confluence/placeholder/macro-icon?name=code"
style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Code Block</th>
                                                            </tr>
                                                        </thead>
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-properties"
style="background-color: #fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;padding:
0; border: 1px solid #dddddd;; font-size: 13px">
                                                                    <table>
                                                                        <tbody>
                                                                            <tr>
                                                                                <td style="background-color:
#fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; font-size: 13px"></td>
                                                                                <td style="background-color:
#fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; font-size: 13px">java</td>
                                                                            </tr>
                                                                        </tbody>
                                                                    </table> </td>
                                                            </tr>
                                                        </tbody>
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-body"
style="background-color: #fff;border: 1px solid #dddddd;padding: 10px;; font-size: 13px">
<pre style="font-size: 13px">
<span class="diff-html-added" id="added-diff-3" style="font-size: 100%; background-color:
#ddfade;">System.setProperty(&quot;java.naming.factory.url&quot;, &quot;org.eclipse.jetty.jndi&quot;);
System.setProperty(&quot;java.naming.factory.initial&quot;, &quot;org.eclipse.jetty.jndi.InitialContextFactory&quot;);

</span>// Register and map the dispatcher servlet
<span class="diff-html-removed" id="removed-diff-4" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>final ServletHolder
servletHolder = new ServletHolder(new CXFCdiServlet());
<span class="diff-html-removed" id="removed-diff-5" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>final ServletContextHandler
context = new ServletContextHandler();
<span class="diff-html-removed" id="removed-diff-6" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>context.setContextPath(contextPath);
<span class="diff-html-removed" id="removed-diff-7" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>context.addEventListener(new
Listener());
<span class="diff-html-removed" id="removed-diff-8" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>context.addEventListener(new
BeanManagerResourceBindingListener());
<span class="diff-html-removed" id="removed-diff-9" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>context.addServlet(servletHolder,
&quot;/rest/*&quot;);
<span class="diff-html-removed" id="removed-diff-10" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">                </span>server.setHandler(context);</pre>
</td>
                                                            </tr>
                                                        </tbody>
                                                    </table>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">&nbsp;</span> </p>
                                                    <table class="diff-macro diff-block-target
diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px
1px;padding: 0 2px 2px;width: 100%;">
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-body"
style="background-color: #fff;border: 1px solid #dddddd;padding: 10px;; font-size: 13px">
<pre style="font-size: 13px">
<span class="diff-html-added" id="added-diff-4" style="font-size: 100%; background-color:
#ddfade;">
server.start();</span>
</pre> </td>
                                                            </tr>
                                                        </tbody>
                                                    </table>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-added" style="font-size: 100%; background-color:
#ddfade;">This code snippet is enough to trigger the CDI portable extension discovery and
to wire up all dependencies.</span> </p>
                                                    <h1 id="UsingCXFandCDI1.1(JSR-346)-DeployingwithembeddedJetty8/9(WAR-baseddeployment)"
class="diff-block-context">Deploying with embedded Jetty 8/9 (WAR-based deployment)&nbsp;</h1>
                                                    <p class="diff-context-placeholder"
style="font-size: 13px">...</p>
                                                </div>
                                            </div>
                                        </div>
                                        <table id="email-actions" class="email-metadata"
cellspacing="0" cellpadding="0" border="0" width="100%" style="border-top: 1px solid #bbb;
color: #505050; margin: 8px 0 0 0; padding: 0; color: #505050">
                                            <tbody>
                                                <tr>
                                                    <td class="left" valign="top" style="font-size:
13px; padding-top: 8px; max-width: 45%; text-align: left"> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=40509086" style="color:
#326ca6; text-decoration: none">View Online</a> </span> <span class="email-list-divider"
style="color: #505050; padding: 0 0.350em">&middot;</span> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/plugins/likes/like.action?contentId=40509086" style="color:
#326ca6; text-decoration: none">Like</a> </span> <span class="email-list-divider"
style="color: #505050; padding: 0 0.350em">&middot;</span> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=40509086&amp;revisedVersion=11&amp;originalVersion=10"
style="color: #326ca6; text-decoration: none">View Changes</a> </span> </td>
                                                    <td class="right" width="50%" valign="top"
style="font-size: 13px; padding-top: 8px; text-align: right"> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=CXF20DOC"
style="color: #326ca6; text-decoration: none">Stop watching space</a> </span>
<span class="email-list-divider" style="color: #505050; padding: 0 0.350em">&middot;</span>
<span class="email-list-item"><a href="https://cwiki.apache.org/confluence/users/editmyemailsettings.action"
style="color: #326ca6; text-decoration: none">Manage Notifications</a> </span>
</td>
                                                </tr>
                                            </tbody>
                                        </table> </td>
                                </tr>
                            </tbody>
                        </table> </td>
                </tr>
                <tr>
                    <td id="email-footer" align="center" style="font-size: 13px; padding:
0 16px 32px 16px; margin: 0"> <small style="font-size: 11px"> This message was sent
by <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;;
color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence">Atlassian
Confluence</a> 5.0.3, <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;;
color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence/overview/team-collaboration-software?utm_source=email-footer">Team
Collaboration Software</a> </small> </td>
                </tr>
            </tbody>
        </table>
    </body>
</html>
Mime
View raw message