servicemix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache ServiceMix: servicemix-jms new endpoints (page edited)
Date Fri, 07 Mar 2008 06:56:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence" />
    <style type="text/css">
    <!--
    body, p, td, table, tr, .bodytext, .stepfield {
	font-family: Verdana, arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	color: #000000;
	font-weight: normal;
}
#PageContent {
	text-align: left;
	background-color: #fff;
	padding: 0px;
	margin: 0px;
    padding-bottom:20px;
}
/*
** when this stylesheet is used for the Tiny MCE Wysiwyg editor's edit area, we can't
** use an id=PageContent or class=wiki-content, so we must
** set the body style to that used for PageContent, and p to that used for wiki-content.
*/

body {
	margin: 0px;
	padding: 0px;
	text-align: center;
    background-color: #f0f0f0;
}

@media print {

body {
    background-color: #fff;
}

}

.monospaceInput {
    font:12px monospace
}

.wiki-content p, .commentblock p {
    margin: 16px 0px 16px 0px;
    padding: 0px;
}

.wiki-content-preview {
    padding: 5px;
    border-left: 1px solid #3c78b5;
    border-right: 1px solid #3c78b5;
}

ul, ol {
    margin-top: 2px;
    margin-bottom: 2px;
    padding-top: 0px;
    padding-bottom: 0px;
}

pre {
    padding: 0px;
    margin-top: 5px;
    margin-left: 15px;
    margin-bottom: 5px;
    margin-right: 5px;
    text-align: left;
}

.helpheading {
    font-weight: bold;
    background-color: #D0D9BD;
        border-bottom: 1px solid #3c78b5;
        padding: 4px 4px 4px 4px;
        margin: 0px;
        margin-top: 10px;
}
.helpcontent {
        padding: 4px 4px 20px 4px;
    background-color: #f5f7f1;
}

.code {
 	border: 1px dashed #3c78b5;
    font-size: 11px;
	font-family: Courier;
    margin: 10px;
	line-height: 13px;
}

.focusedComment {
    background: #ffffce;
}

.commentBox, .focusedComment {
    padding: 10px;
    margin: 5px 0 5px 0;
    border: 1px #bbb solid;
}

.codeHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.codeContent {
    text-align: left;
    background-color: #f0f0f0;
    padding: 3px;
}

.preformatted {
 	border: 1px dashed #3c78b5;
    font-size: 11px;
	font-family: Courier;
    margin: 10px;
	line-height: 13px;
}

.preformattedHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.preformattedContent {
    background-color: #f0f0f0;
    padding: 3px;
}

.panel {
 	border: 1px dashed #3c78b5;
    margin: 10px;
    margin-top: 0px;
}

.panelHeader {
    background-color: #f0f0f0;
 	border-bottom: 1px dashed #3c78b5;
    padding: 3px;
	text-align: center;
}

.panelContent {
    background-color: #f0f0f0;
    padding: 5px;
}

.anonymousAlert {
    background-color: #f0f0f0;
 	border: 1px dashed red;
    font-size: 11px;
    padding: 10px 5px 10px 5px;
    margin: 4px;
	line-height: 13px;
}

.lockAlert {
    background-color: #f0f0f0;
    width: 50%;
 	border: 1px dashed red;
    font-size: 11px;
    padding: 10px 5px 10px 5px;
    margin: 4px;
	line-height: 13px;
}


.code-keyword {
  color: #000091;
  background-color: inherit;
}

.code-object {
  color: #910091;
  background-color: inherit;
}

.code-quote {
  color: #009100;
  background-color: inherit;
}

.code-comment {
  color: #808080;
  background-color: inherit;
}


.code-xml .code-keyword {
  color: inherit;
  font-weight: bold;
}

.code-tag {
  color: #000091;
  background-color: inherit;
}

.breadcrumbs {
    background-color: #f0f0f0;
 	border-color: #3c78b5;
	border-width: 1px 0px 1px 0px;
	border-style: solid;
    font-size: 11px;
    padding: 3px 0px 3px 0px;
}

.navmenu {
    border: 1px solid #ccc;
}

.menuheading {
    font-weight: bold;
    background-color: #f0f0f0;
 	border-bottom: 1px solid #3c78b5;
	padding: 4px 4px 2px 4px;
}

.menuitems {
	padding: 4px 4px 20px 4px;
}

.rightpanel {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

#helpheading {
    text-align: left;
    font-weight: bold;
    background-color: #D0D9BD;
 	border-bottom: 1px solid #3c78b5;
	padding: 4px 4px 4px 4px;
	margin: 0px;
}
#helpcontent {
	padding: 4px 4px 4px 4px;
    background-color: #f5f7f1;
}
.helptab-unselected {
    font-weight: bold;
	padding: 5px;
    background-color: #f5f7f1;
}
.helptab-selected {
    font-weight: bold;
    background-color: #D0D9BD;
	padding: 5px;
}
.helptabs {
    margin: 0px;
    background-color: #f5f7f1;
	padding: 5px;
}
.infopanel-heading {
    font-weight: bold;
	padding: 4px 0px 2px 0px;
}

.pagebody {
}

.pageheader {
	padding: 5px 5px 5px 0px;
 	border-bottom: 1px solid #3c78b5;
}

.pagetitle {
	font-size: 22px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
}

.newpagetitle {
    color: #ccc !important;
}

.steptitle {
	font-size: 18px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
	margin-bottom: 7px;
}

.substeptitle {
    font-size: 12px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
    margin: 2px 4px 4px 4px;
    padding: 2px 4px 1px 4px;
}

.stepdesc {
    font-family: Verdana, arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
	font-weight: normal;
    color: #666666;
    margin-top: 7px;
    margin-bottom: 7px;
}

.steplabel {
    font-weight: bold;
    margin-right: 4px;
    color: black;
    float: left;
    width: 15%;
    text-align: right;
}

.stepfield {
    background: #f0f0f0;
    padding: 5px;
}

.submitButtons{
    margin-top:5px;
    text-align:right;
}

.formtitle {
	font-size: 12px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: #003366;
}

.sectionbottom {
    border-bottom: 1px solid #3c78b5;
}

.topRow {
    border-top: 2px solid #3c78b5;
}

.tabletitle {
	font-size: 14px;
	font-weight: bold;
	font-family: Arial, sans-serif;
    padding: 3px 0px 2px 0px;
    margin: 8px 4px 2px 0px;
	color: #003366;
	border-bottom: 2px solid #3c78b5;
}
.pagesubheading {
    color: #666666;
    font-size: 10px;
    padding: 0px 0px 5px 0px;
}

HR {
	color: 3c78b5;
	height: 1;
}

A:link, A:visited, A:active, A:hover {
	color: #003366;
}

h1 A:link, h1 A:visited, h1 A:active {
	text-decoration: none;
}

h1 A:hover {
    border-bottom: 1px dotted #003366;
}

.wiki-content > :first-child, .commentblock > :first-child {
    margin-top: 3px;
}

.logocell {
    padding: 10px;
}

input {
	font-family: verdana, geneva, arial, sans-serif;
	font-size: 11px;
	color: #000000;
}

textarea, textarea.editor {
	font-family: verdana, geneva, arial, sans-serif;
	font-size: 11px;
	color: #333333;
}

/* use logoSpaceLink instead.
.spacenametitle {
	font: 21px/31px Impact, Arial, Helvetica;
    font-weight: 100;
    color: #999999;
	margin: 0px;
}
.spacenametitle img {
  margin: 0 0 -4px 0;
}
.spacenametitle a {
    text-decoration: none;
    color: #999999;
}
.spacenametitle a:visited {
    text-decoration: none;
    color: #999999;
}*/

.spacenametitle-printable {
	font: 20px/25px Impact, Arial, Helvetica;
    font-weight: 100;
    color: #999999;
	margin: 0px;
}
.spacenametitle-printable a {
    text-decoration: none;
    color: #999999;
}
.spacenametitle-printable a:visited {
    text-decoration: none;
    color: #999999;
}

.blogDate {
	font-weight: bold;
	text-decoration: none;
	color: black;
}

.blogSurtitle {
    background: #f0f0f0;
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.blogHeading {
    font-size: 20px;
    line-height: normal;
    font-weight: bold;
    padding: 0px;
    margin: 0px;
}

.blogHeading a {
   text-decoration: none;
   color: black;
}

.endsection {
	align: right;
	color: #666666;
	margin-top: 10px;
}
.endsectionleftnav {
	align: right;
	color: #666666;
	margin-top: 10px;
}

h1 {
	font-size: 24px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	color: #003366;
 	border-bottom: 1px solid #3c78b5;
	padding: 2px;
	margin: 36px 0px 4px 0px;
}

h2 {
	font-size: 18px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
 	border-bottom: 1px solid #3c78b5;
	padding: 2px;
	margin: 27px 0px 4px 0px;
}

h3 {
	font-size: 14px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 21px 0px 4px 0px;
}

h4 {
	font-size: 12px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 18px 0px 4px 0px;
}

h4.search {
	font-size: 12px;
	line-height: normal;
	font-weight: normal;
	background-color: #f0f0f0;
	padding: 4px;
	margin: 18px 0px 4px 0px;
}

h5 {
	font-size: 10px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 14px 0px 4px 0px;
}

h6 {
	font-size: 8px;
	line-height: normal;
	font-weight: bold;
	background-color: #f0f0f0;
	padding: 2px;
	margin: 14px 0px 4px 0px;
}

.smallfont {
    font-size: 10px;
}
.descfont {
    font-size: 10px;
    color: #666666;
}
.smallerfont {
    font-size: 9px;
}
.smalltext {
    color: #666666;
    font-size: 10px;
}
.smalltext a {
    color: #666666;
}
.smalltext-blue {
    color: #3c78b5;
    font-size: 10px;
}
.surtitle {
    margin-left: 1px;
    margin-bottom: 5px;
    font-size: 14px;
    color: #666666;
}

/* css hack found here:  http://www.fo3nix.pwp.blueyonder.co.uk/tutorials/css/hacks/ */
.navItemOver { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #003366; cursor: hand; voice-family: '\'}\''; voice-family:inherit; cursor: pointer;}
.navItemOver a { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItemOver a:visited { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItemOver a:hover { color: #ffffff; background-color:#003366; text-decoration: none; }
.navItem { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #3c78b5; }
.navItem a { color: #ffffff; text-decoration: none; }
.navItem a:hover { color: #ffffff; text-decoration: none; }
.navItem a:visited { color: #ffffff; text-decoration: none; }

div.padded { padding: 4px; }
div.thickPadded { padding: 10px; }
h3.macrolibrariestitle {
    margin: 0px 0px 0px 0px;
}

div.centered { text-align: center; margin: 10px; }
div.centered table {margin: 0px auto; text-align: left; }

.tableview table {
    margin: 0;
}

.tableview th {
    text-align: left;
    color: #003366;
    font-size: 12px;
    padding: 5px 0px 0px 5px;
    border-bottom: 2px solid #3c78b5;
}
.tableview td {
    text-align: left;
    border-color: #ccc;
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    margin: 0;
    padding: 4px 10px 4px 5px;
}

.grid {
    margin: 2px 0px 5px 0px;
    border-collapse: collapse;
}
.grid th  {
    border: 1px solid #ccc;
    padding: 2px 4px 2px 4px;
    background: #f0f0f0;
    text-align: center;
}
.grid td  {
    border: 1px solid #ccc;
    padding: 3px 4px 3px 4px;
}
.gridHover {
	background-color: #f9f9f9;
}

td.infocell {
    background-color: #f0f0f0;
}
.label {
	font-weight: bold;
	color: #003366;
}

label {
	font-weight: bold;
	color: #003366;
}

.error {
	background-color: #fcc;
}

.errorBox {
	background-color: #fcc;
    border: 1px solid #c00;
    padding: 5px;
    margin: 5px;
}

.errorMessage {
	color: #c00;
}

.success {
	background-color: #dfd;
}

.successBox {
	background-color: #dfd;
    border: 1px solid #090;
    padding: 5px;
    margin-top:5px;
    margin-bottom:5px;
}

blockquote {
	padding-left: 10px;
	padding-right: 10px;
	margin-left: 5px;
	margin-right: 0px;
	border-left: 1px solid #3c78b5;
}

table.confluenceTable
{
    margin: 5px;
    border-collapse: collapse;
}

/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
table.confluenceTable td.confluenceTd
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
}

/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
table.confluenceTable th.confluenceTh
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
    background-color: #f0f0f0;
    text-align: center;
}

td.confluenceTd
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
}

th.confluenceTh
{
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 3px 4px 3px 4px;
    background-color: #f0f0f0;
    text-align: center;
}

DIV.small {
	font-size: 9px;
}

H1.pagename {
	margin-top: 0px;
}

IMG.inline  {}

.loginform {
    margin: 5px;
    border: 1px solid #ccc;
}

/* The text how the "This is a preview" comment should be shown. */
.previewnote { text-align: center;
                font-size: 11px;
                    color: red; }

/* How the preview content should be shown */
.previewcontent { background: #E0E0E0; }

/* How the system messages should be shown (DisplayMessage.jsp) */
.messagecontent { background: #E0E0E0; }

/* How the "This page has been modified..." -comment should be shown. */
.conflictnote { }

.createlink {
    color: maroon;
}
a.createlink {
    color: maroon;
}
.templateparameter {
    font-size: 9px;
    color: darkblue;
}

.diffadded {
    background: #ddffdd;
    padding: 1px 1px 1px 4px;
	border-left: 4px solid darkgreen;
}
.diffdeleted {
    color: #999;
    background: #ffdddd;
    padding: 1px 1px 1px 4px;
	border-left: 4px solid darkred;
}
.diffnochange {
    padding: 1px 1px 1px 4px;
	border-left: 4px solid lightgrey;
}
.differror {
    background: brown;
}
.diff {
    font-family: lucida console, courier new, fixed-width;
	font-size: 12px;
	line-height: 14px;
}
.diffaddedchars {
    background-color:#99ff99;
    font-weight:bolder;
}
.diffremovedchars {
    background-color:#ff9999;
    text-decoration: line-through;
    font-weight:bolder;
}

.greybackground {
    background: #f0f0f0
}

.greybox {
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.borderedGreyBox {
    border: 1px solid #cccccc;
    background-color: #f0f0f0;
    padding: 10px;
}

.greyboxfilled {
 	border: 1px solid #ddd;
    background: #f0f0f0;
    padding: 3px;
	margin: 1px 1px 10px 1px;
}

.navBackgroundBox {
    padding: 5px 5px 5px 5px;
    font-size: 22px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	color: white;
    background: #3c78b5;
    text-decoration: none;
}

.previewBoxTop {
	background-color: #f0f0f0;
    border-width: 1px 1px 0px 1px;
    border-style: solid;
    border-color: #3c78b5;
    padding: 5px;
    margin: 5px 0px 0px 0px;
    text-align: center;
}
.previewContent {
    background-color: #fff;
 	border-color: #3c78b5;
	border-width: 0px 1px 0px 1px;
	border-style: solid;
	padding: 10px;
	margin: 0px;
}
.previewBoxBottom {
	background-color: #f0f0f0;
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: #3c78b5;
    padding: 5px;
    margin: 0px 0px 5px 0px;
    text-align: center;
}

.functionbox {
    background-color: #f0f0f0;
 	border: 1px solid #3c78b5;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.functionbox-greyborder {
    background-color: #f0f0f0;
 	border: 1px solid #ddd;
	padding: 3px;
	margin: 1px 1px 10px 1px;
}

.search-highlight {
    background-color: #ffffcc;
}

/* normal (white) background */
.rowNormal {
    background-color: #ffffff;
 }

/* alternate (pale yellow) background */
.rowAlternate {
    background-color: #f7f7f7;
}

/* used in the list attachments table */
.rowAlternateNoBottomColor {
    background-color: #f7f7f7;
}

.rowAlternateNoBottomNoColor {
}

.rowAlternateNoBottomColor td {
    border-bottom: 0px;
}

.rowAlternateNoBottomNoColor td {
    border-bottom: 0px;
}

/* row highlight (grey) background */
.rowHighlight {
    background-color: #f0f0f0;

}

TD.greenbar {FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER: 1px solid #9c9c9c; PADDING: 0px; }
TD.redbar {FONT-SIZE: 2px; BACKGROUND: #df0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; }
TD.darkredbar {FONT-SIZE: 2px; BACKGROUND: #af0000; BORDER: 1px solid #9c9c9c; PADDING: 0px; }

TR.testpassed {FONT-SIZE: 2px; BACKGROUND: #ddffdd; PADDING: 0px; }
TR.testfailed {FONT-SIZE: 2px; BACKGROUND: #ffdddd; PADDING: 0px; }

.toolbar  {
    margin: 0px;
    border-collapse: collapse;
}

.toolbar td  {
    border: 1px solid #ccc;
    padding: 2px 2px 2px 2px;
    color: #ccc;
}

td.noformatting {
    border-width: 0px;
    border-style: none;
    text-align: center;
	padding: 0px;
}

.commentblock {
    margin: 12px 0 12px 0;
}

/*
 * Divs displaying the license information, if necessary.
 */
.license-eval, .license-none, .license-nonprofit {
    border-top: 1px solid #bbbbbb;
    text-align: center;
    font-size: 10px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

.license-eval, .license-none {
    background-color: #ffcccc;
}

.license-eval b, .license-none b {
    color: #990000
}

.license-nonprofit {
    background-color: #ffffff;
}

/*
 * The shadow at the bottom of the page between the main content and the
 * "powered by" section.
 */
.bottomshadow {
    height: 12px;
    background-image: url("$req.contextPath/images/border/border_bottom.gif");
    background-repeat: repeat-x;
}

/*
 * Styling of the operations box
 */
.navmenu .operations li, .navmenu .operations ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.navmenu .operations ul {
    margin-bottom: 9px;
}

.navmenu .label {
    font-weight: inherit;
}

/*
 * Styling of ops as a toolbar
 */
.toolbar div {
    display: none;
}

.toolbar .label {
    display: none;
}

.toolbar .operations {
    display: block;
}

.toolbar .operations ul {
    display: inline;
    list-style: none;
    margin-left: 10px;
    padding-left: 0;
}

.toolbar .operations li {
    list-style: none;
    display: inline;
}

/* list page navigational tabs */
#foldertab {
padding: 3px 0px 3px 8px;
margin-left: 0;
border-bottom: 1px solid #3c78b5;
font: bold 11px Verdana, sans-serif;
}

#foldertab li {
list-style: none;
margin: 0;
display: inline;
}

#foldertab li a {
padding: 3px 0.5em;
margin-left: 3px;
border: 1px solid #3c78b5;
border-bottom: none;
background: #3c78b5;
text-decoration: none;
}

#foldertab li a:link { color: #ffffff; }
#foldertab li a:visited { color: #ffffff; }

#foldertab li a:hover {
color: #ffffff;
background: #003366;
border-color: #003366;
}

#foldertab li a.current {
background: white;
border-bottom: 1px solid white;
color: black;
}

#foldertab li a.current:link { color: black; }
#foldertab li a.current:visited { color: black; }
#foldertab li a.current:hover {
background: white;
border-bottom: 1px solid white;
color: black;
}

/* alphabet list */
ul#squaretab {
margin-left: 0;
padding-left: 0;
white-space: nowrap;
font: bold 8px Verdana, sans-serif;
}

#squaretab li {
display: inline;
list-style-type: none;
}

#squaretab a {
padding: 2px 6px;
border: 1px solid #3c78b5;
}

#squaretab a:link, #squaretab a:visited {
color: #fff;
background-color: #3c78b5;
text-decoration: none;
}

#squaretab a:hover {
color: #ffffff;
background-color: #003366;
border-color: #003366;
text-decoration: none;
}

#squaretab li a#current {
background: white;
color: black;
}

.blogcalendar * {
    font-family:verdana, arial, sans-serif;
    font-size:x-small;
    font-weight:normal;
    line-height:140%;
    padding:2px;
}


table.blogcalendar {
    border: 1px solid #3c78b5;
}

.blogcalendar th.calendarhead, a.calendarhead {
    font-size:x-small;
    font-weight:bold;
    padding:2px;
    text-transform:uppercase;
    background-color: #3c78b5;
    color: #ffffff;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.calendarhead:visited {color: white;}
.calendarhead:active {color: white;}
.calendarhead:hover {color: white;}

.blogcalendar th {
    font-size:x-small;
    font-weight:bold;
    padding:2px;
    background-color:#f0f0f0;
}

.blogcalendar td {
    font-size:x-small;
    font-weight:normal;
}

.searchGroup { padding: 0 0 10px 0; background: #f0f0f0; }
.searchGroupHeading { font-size: 10px; font-weight: bold; color: #ffffff; background-color: #3c78b5; padding: 2px 4px 1px 4px; }
.searchItem { padding: 1px 4px 1px 4px; }
.searchItemSelected { padding: 1px 4px 1px 4px; font-weight: bold; background: #ddd; }

/* permissions page styles */
.permissionHeading {
    border-bottom: #bbb; border-width: 0 0 1px 0; border-style: solid; font-size: 16px; text-align: left;
}
.permissionTab {
    border-width: 0 0 0 1px; border-style: solid; background: #3c78b5; color: #ffffff; font-size: 10px;
}
.permissionSuperTab {
    border-width: 0 0 0 1px; border-style: solid; background: #003366; color: #ffffff;
}
.permissionCell {
    border-left: #bbb; border-width: 0 0 0 1px; border-style: solid;
}

/* warning panel */
.warningPanel { background: #FFFFCE; border:#F0C000 1px solid; padding: 8px; margin: 10px; }
/* alert panel */
.alertPanel { background: #FFCCCC; border:#C00 1px solid; padding: 8px; margin: 10px; }
/* info panel */
.infoPanel { background: #D8E4F1; border:#3c78b5 1px solid; padding: 8px; margin: 10px; }

/* side menu highlighting (e.g. space content screen) */
.optionPadded { padding: 2px; }
.optionSelected { background-color: #ffffcc; padding: 2px; border: 1px solid #ddd; margin: -1px; }
.optionSelected a { font-weight: bold; text-decoration: none; color: black; }

/* information macros */
.noteMacro { border-style: solid; border-width: 1px; border-color: #F0C000; background-color: #FFFFCE; text-align:left; margin-top: 5px; margin-bottom: 5px}
.warningMacro { border-style: solid; border-width: 1px; border-color: #c00; background-color: #fcc; text-align:left; margin-top: 5px; margin-bottom: 5px}
.infoMacro { border-style: solid; border-width: 1px; border-color: #3c78b5; background-color: #D8E4F1; text-align:left; margin-top: 5px; margin-bottom: 5px}
.tipMacro { border-style: solid; border-width: 1px; border-color: #090; background-color: #dfd; text-align:left; margin-top: 5px; margin-bottom: 5px}
.informationMacroPadding { padding: 5px 0 0 5px; }

table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td, table.sectionMacro td {
    border: none;
}

table.sectionMacroWithBorder td.columnMacro { border-style: dashed; border-width: 1px; border-color: #cccccc;}

.pagecontent
{
    padding: 10px;
    text-align: left;
}

/* styles for links in the top bar */
.topBarDiv a:link {color: #ffffff;}
.topBarDiv a:visited {color: #ffffff;}
.topBarDiv a:active {color: #ffffff;}
.topBarDiv a:hover {color: #ffffff;}
.topBarDiv {color: #ffffff;}

.topBar {
    background-color: #003366;
}


/* styles for extended operations */
.greyLinks a:link {color: #666666; text-decoration:underline;}
.greyLinks a:visited {color: #666666; text-decoration:underline;}
.greyLinks a:active {color: #666666; text-decoration:underline;}
.greyLinks a:hover {color: #666666; text-decoration:underline;}
.greyLinks {color: #666666; display:block; padding: 10px}

.logoSpaceLink {color: #999999; text-decoration: none}
.logoSpaceLink a:link {color: #999999; text-decoration: none}
.logoSpaceLink a:visited {color: #999999; text-decoration: none}
.logoSpaceLink a:active {color: #999999; text-decoration: none}
.logoSpaceLink a:hover {color: #003366; text-decoration: none}

/* basic panel (basicpanel.vmd) style */
.basicPanelContainer {border: 1px solid #3c78b5; margin-top: 2px; margin-bottom: 8px; width: 100%}
.basicPanelTitle {padding: 5px; margin: 0px; background-color: #f0f0f0; color: black; font-weight: bold;}
.basicPanelBody {padding: 5px; margin: 0px}

.separatorLinks a:link {color: white}
.separatorLinks a:visited {color: white}
.separatorLinks a:active {color: white}

.greynavbar {background-color: #f0f0f0; border-top: 1px solid #3c78b5; margin-top: 2px}

div.headerField {
    float: left;
    width: auto;
    height: 100%;
}

.headerFloat {
    margin-left: auto;
    width: 50%;
}

.headerFloatLeft {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
}

#headerRow {
    padding: 10px;
}

div.license-personal {
   background-color: #003366;
   color: #ffffff;
}

div.license-personal a {
   color: #ffffff;
}

.greyFormBox {
    border: 1px solid #cccccc;
    padding: 5px;
}

/* IE automatically adds a margin before and after form tags. Use this style to remove that */
.marginlessForm {
    margin: 0px;
}

.openPageHighlight {
    background-color: #ffffcc;
    padding: 2px;
    border: 1px solid #ddd;
}

.editPageInsertLinks, .editPageInsertLinks a
{
    color: #666666;
    font-weight: bold;
    font-size: 10px;
}

/* Style for label heatmap. */
.top10 a {
    font-weight: bold;
    font-size: 2em;
    color: #003366;
}
.top25 a {
    font-weight: bold;
    font-size: 1.6em;
    color: #003366;
}
.top50 a {
    font-size: 1.4em;
    color: #003366;
}
.top100 a {
    font-size: 1.2em;
    color: #003366;
}

.heatmap {
    list-style:none;
    width: 95%;
    margin: 0px auto;
}

.heatmap a {
    text-decoration:none;
}

.heatmap a:hover {
    text-decoration:underline;
}

.heatmap li {
    display: inline;
}

.minitab {
padding: 3px 0px 3px 8px;
margin-left: 0;
margin-top: 1px;
margin-bottom: 0px;
border-bottom: 1px solid #3c78b5;
font: bold 9px Verdana, sans-serif;
text-decoration: none;
float:none;
}
.selectedminitab {
padding: 3px 0.5em;
margin-left: 3px;
margin-top: 1px;
border: 1px solid #3c78b5;
background: white;
border-bottom: 1px solid white;
color: #000000;
text-decoration: none;
}
.unselectedminitab {
padding: 3px 0.5em;
margin-left: 3px;
margin-top: 1px;
border: 1px solid #3c78b5;
border-bottom: none;
background: #3c78b5;
color: #ffffff;
text-decoration: none;
}

a.unselectedminitab:hover {
color: #ffffff;
background: #003366;
border-color: #003366;
}

a.unselectedminitab:link { color: white; }
a.unselectedminitab:visited { color: white; }

a.selectedminitab:link { color: black; }
a.selectedminitab:visited { color: black; }

.linkerror { background-color: #fcc;}

a.labelOperationLink:link {text-decoration: underline}
a.labelOperationLink:active {text-decoration: underline}
a.labelOperationLink:visited {text-decoration: underline}
a.labelOperationLink:hover {text-decoration: underline}

a.newLabel:link {background-color: #ddffdd}
a.newLabel:active {background-color: #ddffdd}
a.newLabel:visited {background-color: #ddffdd}
a.newLabel:hover {background-color: #ddffdd}

ul.square {list-style-type: square}

.inline-control-link {
    background: #ffc;
    font-size: 9px;
    color: #666;
    padding: 2px;
    text-transform: uppercase;
    text-decoration: none;
}


.inline-control-link a:link {text-decoration: none}
.inline-control-link a:active {text-decoration: none}
.inline-control-link a:visited {text-decoration: none}
.inline-control-link a:hover {text-decoration: none}

.inline-control-link {
    background: #ffc;
    font-size: 9px;
    color: #666;
    padding: 2px;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
}

div.auto_complete {
    width: 350px;
    background: #fff;
}
div.auto_complete ul {
    border: 1px solid #888;
    margin: 0;
    padding: 0;
    width: 100%;
    list-style-type: none;
}
div.auto_complete ul li {
    margin: 0;
    padding: 3px;
}
div.auto_complete ul li.selected {
    background-color: #ffb;
}
div.auto_complete ul strong.highlight {
    color: #800;
    margin: 0;
    padding: 0;
}

/******* Edit Page Styles *******/
.toogleFormDiv{
    border:1px solid #A7A6AA;
    background-color:white;
    padding:5px;
    margin-top: 5px;
}

.toogleInfoDiv{
    border:1px solid #A7A6AA;
    background-color:white;
    display:none;
    padding:5px;
    margin-top: 10px;
}

.inputSection{
    margin-bottom:20px;
}

#editBox{
   border:1px solid lightgray;
   background-color:#F0F0F0;
}

/******* Left Navigation Theme Styles ********/
.leftnav li a {
    text-decoration:none;
    color:white;
    margin:0px;
    display:block;
    padding:2px;
    padding-left:5px;
    background-color: #3c78b5;
    border-top:1px solid #3c78b5;
}

.leftnav li a:active {color:white;}
.leftnav li a:visited {color:white;}
.leftnav li a:hover {background-color: #003366; color:white;}

/* Added by Shaun during i18n */
.replaced
{
    background-color: #33CC66;
}

.topPadding
{
    margin-top: 20px;
}

/* new form style */
.form-block {
    padding: 6px;
}
.form-error-block {
    padding: 6px;
    background: #fcc;
    border-top: #f0f0f0 1px solid;
    border-bottom: #f0f0f0 1px solid;
    margin-bottom: 6px;
    padding: 0 12px 0 12px;
}
.form-element-large {
    font-size: 16px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
}

.form-element-small {
    font-size: 12px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    color: #003366;
}

.form-header {
    background: lightyellow;
    border-top: #f0f0f0 1px solid;
    border-bottom: #f0f0f0 1px solid;
    margin-bottom: 6px;
    padding: 0 12px 0 12px;
}
.form-header p, .form-block p, .form-error-block p {
    line-height: normal;
    margin: 12px 0 12px 0;
}
.form-example {
    color: #888;
    font-size: 11px;
}
.form-divider {
    border-bottom: #ccc 1px solid;
    margin-bottom: 6px;
}
.form-buttons {
    margin-top: 6px;
    border-top: #ccc 1px solid;
    border-bottom: #ccc 1px solid;
    background: #f0f0f0;
    padding: 10px;
    text-align: center;
}
.form-buttons input {
    width: 100px;
}
.form-block .error {
    padding: 6px;
    margin-bottom: 6px;
}
    -->
    </style>
</head>
<body>

<div id="PageContent">
<table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%"><tr>
<td valign="top" class="pagebody">

    <div class="pageheader">
        <span class="pagetitle">
            Page Edited :
            <a href="http://cwiki.apache.org/confluence/display/SM">SM</a> :
            <a href="http://cwiki.apache.org/confluence/display/SM/servicemix-jms+new+endpoints">servicemix-jms new endpoints</a>
        </span>
    </div>

     <p>
        <a href="http://cwiki.apache.org/confluence/display/SM/servicemix-jms+new+endpoints">servicemix-jms new endpoints</a>
        has been edited by             <a href="http://cwiki.apache.org/confluence/display/~lars.heinemann@compart.net">Lars Heinemann</a>
            <span class="smallfont">(Mar 06, 2008)</span>.
     </p>
    
     <p>
                 <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=64155&originalVersion=30&revisedVersion=31">(View changes)</a>
     </p>

    <span class="label">Content:</span><br/>
    <div class="greybox wiki-content"><h1><a name="servicemix-jmsnewendpoints-NewservicemixjmsEndpoints"></a>New servicemix-jms Endpoints </h1>

<p>These newer JMS endpoints reuse some of the <span class="nobr"><a href="http://static.springframework.org/spring/docs/2.0.x/reference/jms.html" title="Visit page outside Confluence" rel="nofollow">Spring JMS features<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> including the message listener container, JMS transactions and the JMS template. Using these new endpoints can be achieved by using the <tt>jms:consumer</tt> and <tt>jms:provider</tt> in the xbean.xml file for the servicemix-jms component. This page provides various examples of the syntax to access these newer endpoints. </p>

<style type='text/css'>/*<![CDATA[*/
div.rbtoc1204872952543 {margin-left: 1.5em;padding: 0px;}
div.rbtoc1204872952543 ul {list-style: disc;margin-left: 0px;padding-left: 20px;}
div.rbtoc1204872952543 li {margin-left: 0px;padding-left: 0px;}

/*]]>*/</style><div class='rbtoc1204872952543'>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-NewservicemixjmsEndpoints'>New servicemix-jms Endpoints </a></li>
  <li><a href='#servicemix-jmsnewendpoints-ConsumerEndpoints'>Consumer Endpoints</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-SimpleExamples'>Simple Examples</a></li>
  <li><a href='#servicemix-jmsnewendpoints-TheConnectionFactory'>The Connection Factory</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-ActiveMQ'>ActiveMQ</a></li>
  <li><a href='#servicemix-jmsnewendpoints-OtherJMSproviders'>Other JMS providers</a></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-Tips'>Tips</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-UsingaMarshaler'>Using a Marshaler</a></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-Reference'>Reference</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-CommonProperties'>Common Properties</a></li>
  <li><a href='#servicemix-jmsnewendpoints-%7B%7B%3Cjms%3Aconsumer%2F%3E%7D%7Dand%7B%7B%3Cjms%3Asoapconsumer%2F%3E%7D%7D'><tt>&lt;jms:consumer/&gt;</tt> and <tt>&lt;jms:soap-consumer/&gt;</tt></a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-Soapspecificproperties'>Soap specific properties</a></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-%7B%7B%3Cjms%3Ajcaconsumer%2F%3E%7D%7D'><tt>&lt;jms:jca-consumer/&gt;</tt></a></li>
</ul></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-ProviderEndpoints'>Provider Endpoints</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-SimpleExamples'>Simple Examples</a></li>
  <li><a href='#servicemix-jmsnewendpoints-TheConnectionFactory'>The Connection Factory</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-ActiveMQ'>ActiveMQ</a></li>
  <li><a href='#servicemix-jmsnewendpoints-OtherJMSproviders'>Other JMS providers</a></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-Tips'>Tips</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-UsingaMarshaler'>Using a Marshaler</a></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-Reference'>Reference</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-CommonProperties'>Common Properties</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-Attributes'>Attributes</a></li>
  <li><a href='#servicemix-jmsnewendpoints-Beans'>Beans</a></li>
</ul></li>
  <li><a href='#servicemix-jmsnewendpoints-SOAPSpecificProperties'>SOAP Specific Properties</a>
<ul>
  <li><a href='#servicemix-jmsnewendpoints-Attributes'>Attributes</a></li>
  <li><a href='#servicemix-jmsnewendpoints-Beans'>Beans</a></li>
</ul></li>
</ul></li>
</ul></li>
</ul></div>

<h1><a name="servicemix-jmsnewendpoints-ConsumerEndpoints"></a>Consumer Endpoints</h1>

<h2><a name="servicemix-jmsnewendpoints-SimpleExamples"></a>Simple Examples</h2>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:consumer service=<span class="code-quote">"my:ConsumerService"</span>
              endpoint=<span class="code-quote">"jbi"</span>
              destinationName=<span class="code-quote">"my.queue"</span>
              connectionFactory=<span class="code-quote">"#connectionFactory"</span>
              concurrentConsumers=<span class="code-quote">"8"</span> /&gt;</pre>
</div></div>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:soap-consumer wsdl=<span class="code-quote">"classpath:service.wsdl"</span>
                   destinationName=<span class="code-quote">"my.queue"</span>
                   connectionFactory=<span class="code-quote">"#connectionFactory"</span>
                   concurrentConsumers=<span class="code-quote">"8"</span> /&gt;</pre>
</div></div>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:jca-consumer service=<span class="code-quote">"my:ConsumerService"</span>
                  endpoint=<span class="code-quote">"jbi"</span>
                  destinationName=<span class="code-quote">"my.queue"</span>
                  connectionFactory=<span class="code-quote">"#connectionFactory"</span>
                  resourceAdapter=<span class="code-quote">"#ra"</span>
                  activationSpec=<span class="code-quote">"#as"</span> /&gt;</pre>
</div></div>

<h2><a name="servicemix-jmsnewendpoints-TheConnectionFactory"></a>The Connection Factory</h2>

<h3><a name="servicemix-jmsnewendpoints-ActiveMQ"></a>ActiveMQ</h3>

<p>If you're using ActiveMQ, the ActiveMQ connection pool from the <span class="nobr"><a href="http://jencks.org/AMQPool" title="Visit page outside Confluence" rel="nofollow">Jencks AMQPool<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>. Just add  <span class="nobr"><a href="http://repo1.maven.org/maven2/org/jencks/jencks-amqpool/2.0/jencks-amqpool-2.0.jar" title="Visit page outside Confluence" rel="nofollow">jencks-amqpool<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> to your classpath.  Then you can define a connection pool the following way:</p>

<div class="code"><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;beans <span class="code-keyword">xmlns:amqpool</span>=<span class="code-quote">"http://jencks.org/amqpool/2.0"</span>&gt;</span>
  &lt;amqpool:xa-pool id=<span class="code-quote">"connectionFactory"</span> 
                   url=<span class="code-quote">"tcp://localhost:61616"</span>
                   transactionManager=<span class="code-quote">"#transactionManager"</span> /&gt;
<span class="code-tag">&lt;/beans&gt;</span></pre>
</div></div>

<p>See the <span class="nobr"><a href="http://jencks.org/AMQPool#AMQPool-XBeanconfiguration" title="Visit page outside Confluence" rel="nofollow">Jencks AMQPool documentation<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> from the Jencks project for more information. </p>

<h3><a name="servicemix-jmsnewendpoints-OtherJMSproviders"></a>Other JMS providers</h3>

<p>For other JMS providers, the ConnectionFactory can be configured to be retrieved via JNDI:</p>
<div class="code"><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;beans <span class="code-keyword">xmlns:jee</span>=<span class="code-quote">"http://www.springframework.org/schema/jee"</span>&gt;</span>
  <span class="code-tag">&lt;jee:jndi-lookup id=<span class="code-quote">"connectionFactory"</span> jndi-name=<span class="code-quote">"weblogic.jms.XAConnectionFactory"</span>&gt;</span>
    <span class="code-tag">&lt;jee:environment&gt;</span>
      java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
      java.naming.provider.url=t3://localhost:7001
    <span class="code-tag">&lt;/jee:environment&gt;</span>
  <span class="code-tag">&lt;/jee:jndi-lookup&gt;</span>
<span class="code-tag">&lt;beans&gt;</span></pre>
</div></div>

<p>Or just configured as a Spring bean: </p>
<div class="code"><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;bean id=<span class="code-quote">"connectionFactory"</span> class=<span class="code-quote">"com.ibm.mq.jms.MQQueueConnectionFactory"</span>&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"transportType"</span>&gt;</span>
         <span class="code-tag">&lt;util:constant static-field=<span class="code-quote">"com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP"</span> /&gt;</span>
     <span class="code-tag">&lt;/property&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"queueManager"</span> value=<span class="code-quote">"foo.queue.mgr"</span> /&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"hostName"</span> value=<span class="code-quote">"hostname"</span> /&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"channel"</span> value=<span class="code-quote">"channelname"</span> /&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"port"</span> value=<span class="code-quote">"12345"</span> /&gt;</span>
<span class="code-tag">&lt;/bean&gt;</span></pre>
</div></div>

<p>Check your JMS provider for any of the provider-specific configuration that might be needed.</p>

<h2><a name="servicemix-jmsnewendpoints-Tips"></a>Tips</h2>

<h3><a name="servicemix-jmsnewendpoints-UsingaMarshaler"></a>Using a Marshaler</h3>

<p>The <span class="nobr"><a href="http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsConsumerMarshaler.java?revision=HEAD" title="Visit page outside Confluence" rel="nofollow">org.apache.servicemix.jms.endpoints.JmsConsumerMarshaler<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> interface defines the way the incoming JMS message is transformed.  There are two implementations:</p>
<ul>
	<li>DefaultConsumerMarshaler for <tt>&lt;jms:consumer/&gt;</tt> and <tt>&lt;jms:jca-consumer/&gt;</tt> endpoints</li>
	<li>JmsSoapConsumerMarshaler for <tt>&lt;jms:soap-consumer/&gt;</tt> endpoints</li>
</ul>


<p>For soap enabled endpoints, there is not particular need to modify the way the marshaling is done.  But the DefaultConsumerMarshaler does not support the whole range of messages.  So from time to time, you will need to process JMS properties or receive a Map based message.  In such a case, you would create your own class implementing the <tt>JmsConsumerMarshaler</tt> interface and configure it on the endpoint:</p>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:consumer service=<span class="code-quote">"my:ConsumerService"</span>
              endpoint=<span class="code-quote">"jbi"</span>
              destinationName=<span class="code-quote">"my.queue"</span>
              connectionFactory=<span class="code-quote">"#connectionFactory"</span>
              marshaler=<span class="code-quote">"#marshaler"</span> /&gt;
<span class="code-tag">&lt;bean id=<span class="code-quote">"marshaler"</span> class=<span class="code-quote">"my.package.MyMarshaler"</span> /&gt;</span></pre>
</div></div>

<h2><a name="servicemix-jmsnewendpoints-Reference"></a>Reference</h2>

<p>ServiceMix uses JMS support from the Spring Framework, hence most of the following properties are fully documented at the following locations:</p>
<ul>
	<li><span class="nobr"><a href="http://static.springframework.org/spring/docs/2.0.x/reference/jms.html" title="Visit page outside Confluence" rel="nofollow">http://static.springframework.org/spring/docs/2.0.x/reference/jms.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
	<li><span class="nobr"><a href="http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/jms/listener/package-summary.html" title="Visit page outside Confluence" rel="nofollow">http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/jms/listener/package-summary.html<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>


<h3><a name="servicemix-jmsnewendpoints-CommonProperties"></a>Common Properties</h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Bean </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> service </td>
<td class='confluenceTd'> QName </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The service name of the proxied endpoint </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> endpoint </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The endpoint name of the proxied endpoint </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> interfaceName </td>
<td class='confluenceTd'> QName </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The interface name of the proxied endpoint </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> targetService </td>
<td class='confluenceTd'> QName </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The service name of the target endpoint </td>
<td class='confluenceTd'> no (defaults to the service attribute) </td>
</tr>
<tr>
<td class='confluenceTd'> targetEndpoint </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The endpoint name of the target endpoint </td>
<td class='confluenceTd'> no (defaults to the endpoint attribute) </td>
</tr>
<tr>
<td class='confluenceTd'> targetInterface </td>
<td class='confluenceTd'> QName </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The interface name of the target endpoint </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> targetUri </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> The URI of the target endpoint </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> marshaler </td>
<td class='confluenceTd'> JmsConsumerMarshaler </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> The class implementing the message marshaler </td>
<td class='confluenceTd'> no (defaults to <tt>DefaultConsumerMarshaler</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> synchronous </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies if the consumer will block while waiting for a response </td>
<td class='confluenceTd'> no (defaults to true) </td>
</tr>
<tr>
<td class='confluenceTd'> destinationChooser </td>
<td class='confluenceTd'> DestinationChooser </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> A class implementing logic for choosing among JMS destinations </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> destinationResolver </td>
<td class='confluenceTd'> DestinationResolver </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> A class implementing logic for converting strings into destination IDs</td>
<td class='confluenceTd'> no (defaults to <tt>DynamicDestinationResolver</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> pubSubDomaim </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies if the destination is a topic</td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> connectionFactory </td>
<td class='confluenceTd'> ConnectionFactory </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> The <tt>ConnectionFactory</tt> used to connect with the destination </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> useMessageIdInResponse </td>
<td class='confluenceTd'> Boolean </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> Specifies if the request message's ID is used as the reply's correlation ID</td>
<td class='confluenceTd'> no (if not set the request's correlation ID is used) </td>
</tr>
<tr>
<td class='confluenceTd'> replyDestination </td>
<td class='confluenceTd'> Destination</td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> Specifies the JMS destination for the reply</td>
<td class='confluenceTd'> no (if not set either the replyDestination or the destinationChooser is used) </td>
</tr>
<tr>
<td class='confluenceTd'> replyDestinationName </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies the name of the JMS destination to use for the reply </td>
<td class='confluenceTd'> no (if not set the replyDestination or the destinationChooser is used) </td>
</tr>
<tr>
<td class='confluenceTd'> replyExplicitQosEnabled </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies if the QoS values specified for the endpoint are explicity used when the reply is sent </td>
<td class='confluenceTd'> no (default is false) </td>
</tr>
<tr>
<td class='confluenceTd'> replyDeliveryMode </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies the JMS delivery mode used for the reply</td>
<td class='confluenceTd'> no (defaults to persistent) </td>
</tr>
<tr>
<td class='confluenceTd'> replyPriority </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies the JMS message priority of the reply </td>
<td class='confluenceTd'> no (defaults to 4)</td>
</tr>
<tr>
<td class='confluenceTd'> replyTimeToLive </td>
<td class='confluenceTd'> long </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies the number of milliseconds the reply message is valid </td>
<td class='confluenceTd'> no (defaults to unlimited)</td>
</tr>
<tr>
<td class='confluenceTd'> replyProperties </td>
<td class='confluenceTd'> Map </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> Specifies custom properties to be placed in the reply's JMS header </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> stateless </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> no </td>
<td class='confluenceTd'> Specifies if the consumer retains state information about the message exchange while it is in process </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> storeFactory </td>
<td class='confluenceTd'> StoreFactory </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> The factory class used to create the data store for state information</td>
<td class='confluenceTd'> no (defaults to <tt>MemoryStoreFactory</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> store </td>
<td class='confluenceTd'> Store </td>
<td class='confluenceTd'> yes </td>
<td class='confluenceTd'> The data store used to store state information </td>
<td class='confluenceTd'> no </td>
</tr>
</tbody></table>

<h3><a name="servicemix-jmsnewendpoints-%7B%7B%3Cjms%3Aconsumer%2F%3E%7D%7Dand%7B%7B%3Cjms%3Asoapconsumer%2F%3E%7D%7D"></a><tt>&lt;jms:consumer/&gt;</tt> and <tt>&lt;jms:soap-consumer/&gt;</tt></h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> listenerType</td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> Specifies the type of Spring JMS message listener to use </td>
<td class='confluenceTd'> <tt>default</tt>, <tt>simple</tt>, <tt>server</tt> (defaults to <tt>default</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> jms102 </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the consumer is to be use JMS 1.0.2 </td>
<td class='confluenceTd'> no (defaults to <tt>false</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> transacted </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> Specifies the type of transaction to wrap the message exchanges </td>
<td class='confluenceTd'> <tt>none</tt>, <tt>xa</tt>, <tt>jms</tt> (defaults to <tt>none</tt>) </td>
</tr>
</tbody></table>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Simple </th>
<th class='confluenceTh'> Default </th>
<th class='confluenceTh'> Server </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> clientId </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The JMS client id for a shared <tt>Connection</tt> created and used by this listener </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> destination </td>
<td class='confluenceTd'> Destination </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The destination used to receive messages </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> destinationName </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The name of the destination used to receive messages</td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> durableSubscriptionName </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The durable subscriber name </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> exceptionListener </td>
<td class='confluenceTd'> ExceptionListener </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The <tt>ExceptionListener</tt> to notify in case of a <tt>JMSException</tt> thrown by the registered message listener or the invocation infrastructure </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> messageSelector </td>
<td class='confluenceTd'> String</td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The message selector string to use </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> sessionAcknowlegeMode </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The acknowledgment mode that is used when creating a Session to send a message </td>
<td class='confluenceTd'> no (defaults to <tt>Session.AUTO_ACKNOWLEDGE</tt>)</td>
</tr>
<tr>
<td class='confluenceTd'> subscriptionDurable </td>
<td class='confluenceTd'> boolean  </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> Specifies if the listener uses a durable subscription to listen form messages </td>
<td class='confluenceTd'> no (defaults to false) </td>
</tr>
<tr>
<td class='confluenceTd'> pubSubNoLocal </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> Specifies if messages published by the listener's <tt>Connection</tt> are suppressed </td>
<td class='confluenceTd'> no (defaults to false) </td>
</tr>
<tr>
<td class='confluenceTd'> concurrentConsumers </td>
<td class='confluenceTd'> int  </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> The number of concurrent consumers created by the listener </td>
<td class='confluenceTd'> no (defaults to 1) </td>
</tr>
<tr>
<td class='confluenceTd'> cacheLevel </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> The level of caching allowed by the listener </td>
<td class='confluenceTd'> no (defaults to <tt>CACHE_NONE</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> receiveTimeout</td>
<td class='confluenceTd'> long </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> The timeout for receiving a message in milliseconds </td>
<td class='confluenceTd'> no (default is 1000) </td>
</tr>
<tr>
<td class='confluenceTd'> recoveryInterval </td>
<td class='confluenceTd'> long </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> The interval, in milliseconds, between attempts to recover after a failed listener set-up </td>
<td class='confluenceTd'> no (defaults to 5000) </td>
</tr>
<tr>
<td class='confluenceTd'> maxMessagesPerTask </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The number of attempts to receive messages per task </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> serverSessionFactory </td>
<td class='confluenceTd'> ServerSessionFactory </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> X </td>
<td class='confluenceTd'> The <tt>ServerSessionFactory</tt> to use </td>
<td class='confluenceTd'> no (defaults to <tt>SimpleServerSessionFactory</tt>) </td>
</tr>
</tbody></table>

<h4><a name="servicemix-jmsnewendpoints-Soapspecificproperties"></a>Soap specific properties</h4>

<p>Note that when deploying a soap consumer, the service and endpoint name are optional and can be inferred from the given WSDL (if the WSDL only contains a single port definition).  If the service and/or endpoint attributes are given, they must match the service and port name of the WSDL.</p>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Name</th>
<th class='confluenceTh'>Type</th>
<th class='confluenceTh'>Description</th>
<th class='confluenceTh'>Required</th>
</tr>
<tr>
<td class='confluenceTd'> wsdl </td>
<td class='confluenceTd'> Resource </td>
<td class='confluenceTd'> WSDL describing the service </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> useJbiWrapper </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the JBI wrapper is sent in the body of the message </td>
<td class='confluenceTd'> no (defaults to true) </td>
</tr>
<tr>
<td class='confluenceTd'> validateWsdl </td>
<td class='confluenceTd'> boolan </td>
<td class='confluenceTd'> Checks WSI-BP compliance </td>
<td class='confluenceTd'> no (defaults to true) </td>
</tr>
<tr>
<td class='confluenceTd'> policies </td>
<td class='confluenceTd'> Policy[] </td>
<td class='confluenceTd'> A list of interceptors that will process the message </td>
<td class='confluenceTd'> no </td>
</tr>
</tbody></table>

<h3><a name="servicemix-jmsnewendpoints-%7B%7B%3Cjms%3Ajcaconsumer%2F%3E%7D%7D"></a><tt>&lt;jms:jca-consumer/&gt;</tt></h3>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> resourceAdapter</td>
<td class='confluenceTd'> ResourceAdapter </td>
<td class='confluenceTd'> The resource adapter used for the endpoint </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> activationSpec </td>
<td class='confluenceTd'> ActivationSpec </td>
<td class='confluenceTd'> The activation information needed for the endpoint </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> bootstrapContext </td>
<td class='confluenceTd'> BootstrapContext </td>
<td class='confluenceTd'> The bootstrap context used when starting the resource adapter  </td>
<td class='confluenceTd'> no (a default one will be created) </td>
</tr>
</tbody></table>

<h1><a name="servicemix-jmsnewendpoints-ProviderEndpoints"></a>Provider Endpoints</h1>

<h2><a name="servicemix-jmsnewendpoints-SimpleExamples"></a>Simple Examples</h2>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:provider service=<span class="code-quote">"my:ProviderService"</span>
              endpoint=<span class="code-quote">"jbi"</span>
              destinationName=<span class="code-quote">"my.queue"</span>
              connectionFactory=<span class="code-quote">"#connectionFactory"</span> /&gt;</pre>
</div></div>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:soap-provider wsdl=<span class="code-quote">"classpath:service.wsdl"</span>
                   destinationName=<span class="code-quote">"my.queue"</span>
                   connectionFactory=<span class="code-quote">"#connectionFactory"</span> /&gt;</pre>
</div></div>

<h2><a name="servicemix-jmsnewendpoints-TheConnectionFactory"></a>The Connection Factory</h2>

<h3><a name="servicemix-jmsnewendpoints-ActiveMQ"></a>ActiveMQ</h3>

<p>We recommend jencks specific ActiveMQ connection pool if you use ActiveMQ.<br/>
Just add <span class="nobr"><a href="http://repo1.maven.org/maven2/org/jencks/jencks-amqpool/2.0/jencks-amqpool-2.0.jar" title="Visit page outside Confluence" rel="nofollow">jencks-amqpool<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> to your classpath.  Then you can define a connection pool the following way:</p>

<div class="code"><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;beans <span class="code-keyword">xmlns:amqpool</span>=<span class="code-quote">"http://jencks.org/amqpool/2.0"</span>&gt;</span>
  &lt;amqpool:xa-pool id=<span class="code-quote">"connectionFactory"</span> 
                   url=<span class="code-quote">"tcp://localhost:61616"</span>
                   transactionManager=<span class="code-quote">"#transactionManager"</span> /&gt;
<span class="code-tag">&lt;/beans&gt;</span></pre>
</div></div>

<p>Take a look at the <span class="nobr"><a href="http://jencks.org/AMQPool#AMQPool-XBeanconfiguration" title="Visit page outside Confluence" rel="nofollow">AMQPool documentation<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> from the Jencks project for more information. </p>

<h3><a name="servicemix-jmsnewendpoints-OtherJMSproviders"></a>Other JMS providers</h3>

<p>For other JMS providers, the ConnectionFactory can be configured to be retrieved via JNDI:</p>
<div class="code"><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;beans <span class="code-keyword">xmlns:jee</span>=<span class="code-quote">"http://www.springframework.org/schema/jee"</span>&gt;</span>
  <span class="code-tag">&lt;jee:jndi-lookup id=<span class="code-quote">"connectionFactory"</span> jndi-name=<span class="code-quote">"weblogic.jms.XAConnectionFactory"</span>&gt;</span>
    <span class="code-tag">&lt;jee:environment&gt;</span>
      java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
      java.naming.provider.url=t3://localhost:7001
    <span class="code-tag">&lt;/jee:environment&gt;</span>
  <span class="code-tag">&lt;/jee:jndi-lookup&gt;</span>
<span class="code-tag">&lt;beans&gt;</span></pre>
</div></div>

<p>Or just configured as a Spring bean: </p>
<div class="code"><div class="codeContent">
<pre class="code-xml"><span class="code-tag">&lt;bean id=<span class="code-quote">"connectionFactory"</span> class=<span class="code-quote">"com.ibm.mq.jms.MQQueueConnectionFactory"</span>&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"transportType"</span>&gt;</span>
         <span class="code-tag">&lt;util:constant static-field=<span class="code-quote">"com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP"</span> /&gt;</span>
     <span class="code-tag">&lt;/property&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"queueManager"</span> value=<span class="code-quote">"foo.queue.mgr"</span> /&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"hostName"</span> value=<span class="code-quote">"hostname"</span> /&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"channel"</span> value=<span class="code-quote">"channelname"</span> /&gt;</span>
     <span class="code-tag">&lt;property name=<span class="code-quote">"port"</span> value=<span class="code-quote">"12345"</span> /&gt;</span>
<span class="code-tag">&lt;/bean&gt;</span></pre>
</div></div>

<p>Check your JMS provider for any of the provider-specific configuration that might be needed.</p>

<h2><a name="servicemix-jmsnewendpoints-Tips"></a>Tips</h2>

<h3><a name="servicemix-jmsnewendpoints-UsingaMarshaler"></a>Using a Marshaler</h3>

<p>The <span class="nobr"><a href="http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsProviderMarshaler.java?revision=HEAD" title="Visit page outside Confluence" rel="nofollow">org.apache.servicemix.jms.endpoints.JmsProviderMarshaler<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> interface defines the way incoming and outgoing JMS messages are transformed.  There are two implementations:</p>
<ul>
	<li><tt>DefaultProviderMarshaler</tt> for <tt>&lt;jms:provider /&gt;</tt> endpoints</li>
	<li><tt>JmsSoapProviderMarshaler</tt> for <tt>&lt;jms:soap-provider /&gt;</tt> endpoints</li>
</ul>


<p>For SOAP enabled endpoints, there is no particular need to modify the way the marshaling is done.  But the <tt>DefaultProviderMarshaler</tt> does not support the whole range of messages.  So from time to time, you will need to process JMS properties or receive a Map based message.  In such a case, you would create your own class implementing the <tt>JmsProviderMarshaler</tt> interface and configure it on the endpoint:</p>

<div class="code"><div class="codeContent">
<pre class="code-xml">&lt;jms:proivder service=<span class="code-quote">"my:ProviderService"</span>
              endpoint=<span class="code-quote">"jbi"</span>
              destinationName=<span class="code-quote">"my.queue"</span>
              connectionFactory=<span class="code-quote">"#connectionFactory"</span>
              marshaler=<span class="code-quote">"#marshaler"</span> /&gt;
<span class="code-tag">&lt;bean id=<span class="code-quote">"marshaler"</span> class=<span class="code-quote">"my.package.MyMarshaler"</span> /&gt;</span></pre>
</div></div>

<h2><a name="servicemix-jmsnewendpoints-Reference"></a>Reference</h2>

<h3><a name="servicemix-jmsnewendpoints-CommonProperties"></a>Common Properties</h3>

<h4><a name="servicemix-jmsnewendpoints-Attributes"></a>Attributes</h4>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> deliveryMode </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> The JMS delivery mode </td>
<td class='confluenceTd'> no (defaults to persistent)  </td>
</tr>
<tr>
<td class='confluenceTd'> destinationName </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> The JNDI name of the destination used to send messages </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> endpoint </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> The endpoint name of the proxied endpoint </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> explicitQosEnabled </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the JMS messages have the specified properties explicitly applied </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> interfaceName </td>
<td class='confluenceTd'> QName </td>
<td class='confluenceTd'> The interface name of the proxied endpoint </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> jms102 </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the consumer is to be use JMS 1.0.2 </td>
<td class='confluenceTd'> no (defaults to <tt>false</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> messageIdEnabled </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if JMS message IDs are enabled </td>
<td class='confluenceTd'> no (defaults to <tt>true</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> messageTimeStampEnabled </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if JMS messages are time stamped </td>
<td class='confluenceTd'> no (defaults to <tt>true</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> priority </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> The JMS message priority </td>
<td class='confluenceTd'> no (defaults to 4) </td>
</tr>
<tr>
<td class='confluenceTd'> pubSubDomaim </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the destination is a topic</td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> pubSubNoLocal </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if messages published by the listener's <tt>Connection</tt> are suppressed </td>
<td class='confluenceTd'> no (defaults to false) </td>
</tr>
<tr>
<td class='confluenceTd'> recieveTimeout </td>
<td class='confluenceTd'> long </td>
<td class='confluenceTd'> The timeout for receiving a message in milliseconds </td>
<td class='confluenceTd'> no (default is unlimited) </td>
</tr>
<tr>
<td class='confluenceTd'> replyDestinationName </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> The JNDI name of the destination used to receive messages </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> service </td>
<td class='confluenceTd'> QName </td>
<td class='confluenceTd'> The service name of the proxied endpoint </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> stateless </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the consumer retains state information about the message exchange while it is in process </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> timeToLive </td>
<td class='confluenceTd'> long </td>
<td class='confluenceTd'> Specifies the number of milliseconds the message is valid </td>
<td class='confluenceTd'> no (defaults to unlimited)</td>
</tr>
</tbody></table>

<h4><a name="servicemix-jmsnewendpoints-Beans"></a>Beans</h4>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> connectionFactory </td>
<td class='confluenceTd'> ConnectionFactory </td>
<td class='confluenceTd'> The <tt>ConnectionFactory</tt> used to connect with the destination </td>
<td class='confluenceTd'> yes </td>
</tr>
<tr>
<td class='confluenceTd'> destination </td>
<td class='confluenceTd'> Destination </td>
<td class='confluenceTd'> The JMS destination used to send messages </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> destinationChooser </td>
<td class='confluenceTd'> DestinationChooser </td>
<td class='confluenceTd'> A class implementing logic for choosing among JMS destinations </td>
<td class='confluenceTd'> no (defaults to <tt>SimpleDestinationChooser</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> destinationResolver </td>
<td class='confluenceTd'> DestinationResolver </td>
<td class='confluenceTd'> A class implementing logic for converting strings into destination IDs</td>
<td class='confluenceTd'> no (defaults to <tt>DynamicDestinationResolver</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> marshaler </td>
<td class='confluenceTd'> JmsProviderMarshaler </td>
<td class='confluenceTd'> The class implementing the message marshaler </td>
<td class='confluenceTd'> no (defaults to <tt>DefaultProviderMarshaler</tt> or <tt>JmsSoapProviderMarshaler</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> replyDestination </td>
<td class='confluenceTd'> Destination </td>
<td class='confluenceTd'> The JMS destinations to receive messages </td>
<td class='confluenceTd'> no </td>
</tr>
<tr>
<td class='confluenceTd'> storeFactory </td>
<td class='confluenceTd'> StoreFactory </td>
<td class='confluenceTd'> The factory class used to create the data store for state information</td>
<td class='confluenceTd'> no (defaults to <tt>MemoryStoreFactory</tt>) </td>
</tr>
<tr>
<td class='confluenceTd'> store </td>
<td class='confluenceTd'> Store </td>
<td class='confluenceTd'> The data store used to store state information </td>
<td class='confluenceTd'> no </td>
</tr>
</tbody></table>

<h3><a name="servicemix-jmsnewendpoints-SOAPSpecificProperties"></a>SOAP Specific Properties</h3>

<p>The following are only applicable to <tt>&lt;jms:soap-provider /&gt;</tt>.</p>

<h4><a name="servicemix-jmsnewendpoints-Attributes"></a>Attributes</h4>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> useJbiWrapper </td>
<td class='confluenceTd'> boolean </td>
<td class='confluenceTd'> Specifies if the JBI wrapper is sent in the body of the message </td>
<td class='confluenceTd'> no (defaults to true) </td>
</tr>
<tr>
<td class='confluenceTd'> validateWsdl </td>
<td class='confluenceTd'> boolan </td>
<td class='confluenceTd'> Specifies if the WSDL is checked for WSI-BP compliance </td>
<td class='confluenceTd'> no (defaults to true) </td>
</tr>
<tr>
<td class='confluenceTd'> wsdl </td>
<td class='confluenceTd'> Resource </td>
<td class='confluenceTd'> WSDL describing the service </td>
<td class='confluenceTd'> yes </td>
</tr>
</tbody></table>

<h4><a name="servicemix-jmsnewendpoints-Beans"></a>Beans</h4>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Required </th>
</tr>
<tr>
<td class='confluenceTd'> policies </td>
<td class='confluenceTd'> Policy[] </td>
<td class='confluenceTd'> A list of interceptors that will process the message </td>
<td class='confluenceTd'> no </td>
</tr>
</tbody></table></div>


</td></tr></table></div>
<p>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
        <td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="http://cwiki.apache.org/confluence/images/border/spacer.gif" width="1" height="1" border="0"/></td>
    </tr>
</table>

<div class="smalltext">
    Powered by
    <a href="http://www.atlassian.com/software/confluence/default.jsp?clicked=footer" class="smalltext">Atlassian Confluence</a>
    (Version: 2.2.9 Build:#527 Sep 07, 2006)
    -
    <a href="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470" class="smalltext">Bug/feature request</a><br/>
    <br>
    <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action">Unsubscribe or edit your notifications preferences</a>

</div>

</body>
</html>


Mime
View raw message