qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Qpid: Qpid Java FAQ (page edited)
Date Thu, 27 Nov 2008 12:13: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/qpid">qpid</a> :
            <a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+Java+FAQ">Qpid Java FAQ</a>
        </span>
    </div>

     <p>
        <a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+Java+FAQ">Qpid Java FAQ</a>
        has been edited by             <a href="http://cwiki.apache.org/confluence/display/~aidan">Aidan Skinner</a>
            <span class="smallfont">(Nov 27, 2008)</span>.
     </p>
    
     <p>
                 <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=28400&originalVersion=37&revisedVersion=38">(View changes)</a>
     </p>

    <span class="label">Content:</span><br/>
    <div class="greybox wiki-content">
<p>Here are a list of commonly asked questions and answers. Click on the the bolded questions for the answer to unfold. If you have any questions which are not on this list, please email our qpid-user list.</p>

<h2><a name="QpidJavaFAQ-GettingStarted"></a>Getting Started</h2>

<ul>
	<li><a href="/confluence/display/qpid/Getting+Started+Guide" title="Getting Started Guide">Can you help me get started with Qpid?</a></li>
	<li><a href="/confluence/display/qpid/Getting+Started+Guide" title="Getting Started Guide">How do I install the Qpid broker ?</a></li>
	<li><a href="/confluence/display/qpid/Qpid+Java+How+To" title="Qpid Java How To">Where can I find more information?</a></li>
</ul>


<h2><a name="QpidJavaFAQ-WhatisQpid%3F"></a><span id='tgl_content_whatisQpid' class='cloakToggle'></span> What is Qpid ?</h2>

<span id='content_whatisQpid' class='cloak' style='display: none'>
<p>The java implementation of Qpid is a pure Java message broker that implements the AMQP protocol. Essentially, Qpid is a robust, performant middleware component that can handle your messaging traffic.</p>

<p>It currently supports the following features:</p>
<ul>
	<li>High performance header-based routing for messages</li>
	<li>All features required by the JMS 1.1 specification. Qpid passes all tests in the Sun JMS compliance test suite</li>
	<li>Transaction support</li>
	<li>Persistence using the high performance Berkeley DB Java Edition. The persistence layer is also pluggable should an alternative implementation be required. The BDB store is available from the <a href="/confluence/display/qpid/3rd+Party+Libraries" title="3rd Party Libraries">3rd Party Libraries</a> page</li>
	<li>Pluggable security using SASL. Any Java SASL provider can be used</li>
	<li>Management using JMX and a custom management console built using Eclipse RCP</li>
	<li>Naturally, interoperability with other clients including the Qpid .NET, Python, Ruby and C+&#43; implementations</li>
</ul>


</span>

<h2><a name="QpidJavaFAQ-HowdoIruntheQpidbroker%3F"></a><span id='tgl_content_q4' class='cloakToggle'></span> How do I run the Qpid broker ?</h2>

<span id='content_q4' class='cloak' style='display: none'>
<p>The broker comes with a script for unix/linux/cygwin called qpid-server, which can be found in the bin directory of the installed package. This command can be executed without any paramters and will then use the default configuration file provided on install.</p>

<p>For the Windows OS, please use qpid-server.bat.</p>

<p>There's no need to set your classpath for QPID as the scripts take care of that by adding jar's with classpath defining manifest files to your classpath.</p>

<p>For more information on running the broker please see our <a href="/confluence/display/qpid/Getting+Started" title="Getting Started">Getting Started</a> page.</p>
</span>

<h2><a name="QpidJavaFAQ-HowcanIcreateaconnectionusingaURL%3F"></a><span id='tgl_content_q5' class='cloakToggle'></span> How can I create a connection using a URL ?</h2>

<span id='content_q5' class='cloak' style='display: none'>
<p>Please see the <a href="/confluence/display/qpid/Connection+URL+Format" title="Connection URL Format">Connection URL Format</a> documentation.</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIrepresentaJMSDestinationstringwithQPID%3F"></a><span id='tgl_content_q6' class='cloakToggle'></span> How do I represent a JMS Destination string with QPID ?</h2>

<span id='content_q6' class='cloak' style='display: none'>

<h4><a name="QpidJavaFAQ-Queues"></a>Queues</h4>

<p>A queue can be created in QPID using the following URL format.</p>

<p><tt>direct://amq.direct/&lt;Destination&gt;/&lt;Queue Name&gt;</tt></p>

<p>For example: <tt>direct://amq.direct/&lt;Destination&gt;/simpleQueue</tt></p>

<p>Queue names may consist of any mixture of digits, letters, and underscores.</p>

<p>The <a href="/confluence/display/qpid/BindingURLFormat" title="BindingURLFormat">bindingurlformat</a> is described in more detail on it's own page.</p>

<h4><a name="QpidJavaFAQ-Topics"></a>Topics</h4>

<p>A topic can be created in QPID using the following URL format.</p>

<p><tt>topic://amq.topic/&lt;Topic Subscription&gt;/</tt></p>

<p>The topic subscription may only contain the letters A-Z and a-z and digits 0-9.</p>

<p>cloak.memory.duration = 0</p>
<span id='content_q6_hiddentillqpid-3isdone' class='cloak' style='display: none'>
<p>The topic subscription is formed from a series of words that may only contain the letters A-Z and a-z and digits 0-9.<br/>
The words are delimited by dots. Each dot represents a new level.</p>

<p>For example: <tt>stocks.nyse.ibm</tt></p>

<p>Wildcards can be used on subscription with the following meaning.</p>
<ul>
	<li>match a single level<br/>
<tt>&#35;</tt> match zero or more levels</li>
</ul>


<p>For example:<br/>
With two clients<br/>
1 - <tt>stocks.*.ibm</tt><br/>
2 - <tt>stocks.#.ibm</tt></p>

<p>Publishing <tt>stocks.nyse.ibm</tt> will be received by both clients but <tt>stocks.ibm</tt> and <tt>stocks.world.us.ibm</tt> will only be received by client 2.</p>

<p>The topic currently does not support wild cards.</p>
</span>
</span>

<h2><a name="QpidJavaFAQ-HowdoIconnecttothebrokerusingJNDI%3F"></a><span id='tgl_content_q7' class='cloakToggle'></span> How do I connect to the broker using JNDI ?</h2>

<span id='content_q7' class='cloak' style='display: none'>
<p>see <a href="/confluence/display/qpid/How+to+Use+JNDI" title="How to Use JNDI">How to use JNDI</a></p>
</span>

<h2><a name="QpidJavaFAQ-I%27musingSpringandWeblogiccanyouhelpmewiththeconfigurationformovingovertoQpid%3F"></a><span id='tgl_content_q8' class='cloakToggle'></span> I'm using Spring and Weblogic - can you help me with the configuration for moving over to Qpid ?</h2>

<span id='content_q8' class='cloak' style='display: none'>
<p>Here is a donated Spring configuration file <span class="nobr"><a href="/confluence/download/attachments/28400/appContext.zip?version=1" title="appContext.zip attached to Qpid Java FAQ">appContext.zip<sup><img class="rendericon" src="/confluence/images/icons/link_attachment_7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> which shows the config for Qpid side by side with Weblogic. HtH &#33;</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIconfigurethelogginglevelforQpid%3F"></a><span id='tgl_content_q9' class='cloakToggle'></span> How do I configure the logging level for Qpid ?</h2>

<span id='content_q9' class='cloak' style='display: none'>
<p>The system property</p>
<div class="preformatted"><div class="preformattedContent">
<pre>amqj.logging.level
</pre>
</div></div>
<p> can be used to configure the logging level.<br/>
For the broker, you can use the environment variable AMQJ_LOGGING_LEVEL which is picked up by the qpid-run script (called by qpid-server to start the broker) at runtime.</p>

<p>For client code that you've written, simply pass in a system property to your command line to set it to the level you'd like i.e.</p>
<div class="preformatted"><div class="preformattedContent">
<pre>-Damqj.logging.level=INFO
</pre>
</div></div>
<p>The log level for the broker defaults to INFO if the env variable is not set, but you may find that your log4j properties affect this. Setting the property noted above should address this.</p>
</span>

<h2><a name="QpidJavaFAQ-HowcanIconfiguremyapplicationtouseQpidclientlogging%3F"></a><span id='tgl_content_loggingslf4j' class='cloakToggle'></span> How can I configure my application to use Qpid client logging?</h2>

<span id='content_loggingslf4j' class='cloak' style='display: none'>
<p>If you don't already have a logging implementation in your classpath you should add slf4-log4j12-1.4.0.jar and log4j-1.2.12.jar.</p>
</span>

<h2><a name="QpidJavaFAQ-HowcanIconfigurethebroker%3F"></a><span id='tgl_content_q10' class='cloakToggle'></span> How can I configure the broker ?</h2>

<span id='content_q10' class='cloak' style='display: none'>
<p>The broker configuration is contained in the &lt;installed-dir&gt;/etc/config.xml file. You can copy and edit this file and then specify your own configuration file as a parameter to the startup script using the &#45;c flag i.e. qpid-server &#45;c &lt;your_config_file's_path&gt;</p>

<p>For more detailed information on configuration, please see <a href="/confluence/display/qpid/Qpid+Design+-+Configuration" title="Qpid Design - Configuration">Qpid Design &#45; Configuration</a></p>
</span>

<h2><a name="QpidJavaFAQ-HowcanIchangetheportthebrokerusesatruntime%3F"></a><span id='tgl_content_q11' class='cloakToggle'></span> How can I change the port the broker uses at runtime ?</h2>

<span id='content_q11' class='cloak' style='display: none'>
<p>The broker defaults to use port 5672 at startup.</p>

<p>To change this, use the &#45;p flag at startup i.e. qpid-server &#45;p &lt;port_number_to_use&gt;</p>

<p>Use this to get round any issues on your host server with port 5672 being in use/unavailable.</p>

<p>For more detailed information on configuration, please see <a href="/confluence/display/qpid/Qpid+Design+-+Configuration" title="Qpid Design - Configuration">Qpid Design &#45; Configuration</a></p>
</span>

<h2><a name="QpidJavaFAQ-WhatcommandlineoptionscanIpassintotheqpidserverscript%3F"></a><span id='tgl_content_q12' class='cloakToggle'></span> What command line options can I pass into the qpid-server script ?</h2>

<span id='content_q12' class='cloak' style='display: none'>
<p>The following command line options are available:</p>
<h3><a name="QpidJavaFAQ-CommandLineOptions"></a>Command Line Options</h3>

<p>The following options are available:</p>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Option</th>
<th class='confluenceTh'>Long Option</th>
<th class='confluenceTh'>Description</th>
</tr>
<tr>
<td class='confluenceTd'>b</td>
<td class='confluenceTd'>bind</td>
<td class='confluenceTd'>Bind to the specified address overriding any value in the config file</td>
</tr>
<tr>
<td class='confluenceTd'>c</td>
<td class='confluenceTd'>config</td>
<td class='confluenceTd'>Use the given configuration file</td>
</tr>
<tr>
<td class='confluenceTd'>h</td>
<td class='confluenceTd'>help</td>
<td class='confluenceTd'>Prints list of options</td>
</tr>
<tr>
<td class='confluenceTd'>l</td>
<td class='confluenceTd'>logconfig</td>
<td class='confluenceTd'>Use the specified log4j.xml file rather than that in the etc directory</td>
</tr>
<tr>
<td class='confluenceTd'>m</td>
<td class='confluenceTd'>mport</td>
<td class='confluenceTd'>Specify port to listen on for the JMX Management. Overrides value in config file</td>
</tr>
<tr>
<td class='confluenceTd'>p</td>
<td class='confluenceTd'>port</td>
<td class='confluenceTd'>Specify port to listen on. Overrides value in config file</td>
</tr>
<tr>
<td class='confluenceTd'>v</td>
<td class='confluenceTd'>version</td>
<td class='confluenceTd'>Print version information and exit</td>
</tr>
<tr>
<td class='confluenceTd'>w</td>
<td class='confluenceTd'>logwatch</td>
<td class='confluenceTd'>Specify interval for checking for logging config changes. Zero means no checking</td>
</tr>
</tbody></table>
</span>

<h2><a name="QpidJavaFAQ-HowdoIauthenticatewiththebroker%3FWhatuserid%26passwordshouldIuse%3F"></a><span id='tgl_content_q13' class='cloakToggle'></span> How do I authenticate with the broker ? What user id &amp; password should I use ?</h2>

<span id='content_q13' class='cloak' style='display: none'>
<p>You should login as user guest with password guest</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIcreatequeuesthatwillalwaysbeinstantiatedatbrokerstartup%3F"></a><span id='tgl_content_q14' class='cloakToggle'></span> How do I create queues that will always be instantiated at broker startup ?</h2>

<span id='content_q14' class='cloak' style='display: none'>
<p>You can configure queues which will be created at broker startup by tailoring a copy of the virtualhosts.xml file provided in the installed qpid-version/etc directory.</p>

<p>So, if you're using a queue called 'devqueue' you can ensure that it is created at startup by using an entry something like this:</p>
<div class="preformatted"><div class="preformattedContent">
<pre>&lt;virtualhosts&gt;
  &lt;default&gt;test&lt;/default&gt;
  &lt;virtualhost&gt;
   &lt;name&gt;test&lt;/name&gt;
   &lt;test&gt;
   &lt;queue&gt;
      &lt;name&gt;devqueue&lt;/name&gt;
      &lt;devqueue&gt;
        &lt;exchange&gt;amq.direct&lt;/exchange&gt;
        &lt;maximumQueueDepth&gt;4235264&lt;/maximumQueueDepth&gt;  &lt;!-- 4Mb --&gt;
        &lt;maximumMessageSize&gt;2117632&lt;/maximumMessageSize&gt; &lt;!-- 2Mb --&gt;
        &lt;maximumMessageAge&gt;600000&lt;/maximumMessageAge&gt;  &lt;!-- 10 mins --&gt;
      &lt;/devqueue&gt;
   &lt;/queue&gt;
   &lt;/test&gt;
  &lt;/virtualhost&gt;
&lt;/virtualhosts&gt;
</pre>
</div></div>
<p>Note that the name (in thie example above the name is 'test') element should match the virtualhost that you're using to create connections to the broker. This is effectively a namespace used to prevent queue name clashes etc. You can also see that we've set the 'test' virtual host to be the default for any connections which do not specify a virtual host (in the &lt;default&gt; tag).</p>

<p>You can amend the config.xml to point at a different virtualhosts.xml file by editing the &lt;virtualhosts/&gt; element.</p>

<p>So, for example, you could tell the broker to use a file in your home directory by creating a new config.xml file with the following entry:</p>

<p>&lt;virtualhosts&gt;/home/myhomedir/virtualhosts.xml&lt;/virtualhosts&gt;</p>

<p>You can then pass this amended config.xml into the broker at startup using the &#45;c flag i.e.<br/>
qpid-server &#45;c &lt;path&gt;/config.xml</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIcreatequeuesatruntime%3F"></a><span id='tgl_content_runtimequeues' class='cloakToggle'></span> How do I create queues at runtime?</h2>

<span id='content_runtimequeues' class='cloak' style='display: none'>
<p>Queues can be dynamically created at runtime by creating a consumer for them. After they have been created and bound (which happens automatically when a JMS Consumer is created) a publisher can send messages to them.</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoItunethebroker%3F"></a><span id='tgl_content_tuning' class='cloakToggle'></span> How do I tune the broker?</h2>

<p>There are a number of tuning options available, please see the <a href="/confluence/display/qpid/How+to+Tune+M3+Java+Broker+Performance" title="How to Tune M3 Java Broker Performance">How to Tune M3 Java Broker Performance</a> page for more information.</p>
<span id='content_q16' class='cloak' style='display: none'>
</span>

<h2><a name="QpidJavaFAQ-Wheredoundeliverablemessagesendup%3F"></a><span id='tgl_content_q16' class='cloakToggle'></span> Where do undeliverable messages end up ?</h2>

<span id='content_q16' class='cloak' style='display: none'>
<p>At present, messages with an invalid routing key will be returned to the sender. If you register an exception listener for your publisher (easiest to do by making your publisher implement the ExceptionListener interface and coding the onException method) you'll see that you end up in onException in this case. You can expect to be catching a subclass of org.apache.qpid.AMQUndeliveredException.</p>
</span>

<h2><a name="QpidJavaFAQ-CanIconfigurethenameoftheQpidbrokerlogfileatruntime%3F"></a><span id='tgl_content_q17' class='cloakToggle'></span> Can I configure the name of the Qpid broker log file at runtime ?</h2>

<span id='content_q17' class='cloak' style='display: none'>
<p>If you simply start the Qpid broker using the default configuration, then the log file is written to $QPID_WORK/log/qpid.log</p>

<p>This is not ideal if you want to run several instances from one install, or acrhive logs to a shared drive from several hosts.</p>

<p>To make life easier, there are two optional ways to configure the naming convention used for the broker log.</p>

<h3><a name="QpidJavaFAQ-Settingaprefixorsuffix"></a>Setting a prefix or suffix</h3>

<p>Users should set the following environment variables before running qpid-server:</p>

<p>QPID_LOG_PREFIX - will prefix the log file name with the specified value e.g. if you set this value to be the name of your host (for example) it could look something like host123qpid.log</p>

<p>QPID_LOG_SUFFIX - will suffix the file name with the specified value e.g. if you set this value to be the name of your application (for example) if could look something like qpidMyApp.log</p>

<h3><a name="QpidJavaFAQ-IncludingthePID"></a>Including the PID</h3>

<p>Setting either of these variables to the special value PID will introduce the process id of the java process into the file name as a prefix or suffix as specified*&#42;</p>
</span>

<h2><a name="QpidJavaFAQ-Myclientapplicationappearstohavehung%3F"></a><span id='tgl_content_q14b' class='cloakToggle'></span> My client application appears to have hung?</h2>

<span id='content_q14b' class='cloak' style='display: none'>
<p>The client code currently has various timeouts scattered throughout the code. These can cause your client to appear like it has hung when it is actually waiting for the timeout ot compelete. One example is when the broker becomes non-responsive, the client code has a hard coded 2 minute timeout that it will wait when closing a connection. These timeouts need to be consolidated and exposed. see <span class="nobr"><a href="https://issues.apache.org/jira/browse/QPID-429" title="Visit page outside Confluence" rel="nofollow">QPID-429<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIcontacttheQpidteam%3F"></a><span id='tgl_content_q15' class='cloakToggle'></span> How do I contact the Qpid team ?</h2>

<span id='content_q15' class='cloak' style='display: none'>
<p>For general questions, please subscribe to the qpid-users@incubator.apache.org mailing list (<span class="nobr"><a href="http://mail-archives.apache.org/mod_mbox/incubator-qpid-users/" title="Visit page outside Confluence" rel="nofollow">archive<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>).</p>

<p>For development questions, please subscribe to the qpid-dev@incubator.apache.org mailing list (<span class="nobr"><a href="http://mail-archives.apache.org/mod_mbox/incubator-qpid-dev/" title="Visit page outside Confluence" rel="nofollow">archive<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>).</p>

<p>More details on these lists are available on our <a href="/confluence/display/qpid/Mailing+Lists" title="Mailing Lists">mailing lists</a> page.</p>
</span>

<h2><a name="QpidJavaFAQ-HowcanIchangeauser%27spasswordwhilethebrokerisup%3F"></a><span id='tgl_content_q18' class='cloakToggle'></span> How can I change a user's password while the broker is up ?</h2>

<span id='content_q18' class='cloak' style='display: none'>
<p>You can do this via the management console <b>if</b> you're using the base64password file (rather than plain text). To do this simply log in to the management console as an admin user (you need to have created an admin account in the jmxremote.access file first) and then select the 'Manage Users' pane. There is a 'Change Password' tab which you can then use. Alternatively, update the base64password file and use the management console to reload the file, in the 'Manage Users' pane. In both cases, this will take effect when the user next logs in i.e. will not cause them to be disconnected if they are already connected.</p>

<p>For more information on the Management Console please see our <a href="/confluence/display/qpid/Qpid+Management+Console+User+Guide" title="Qpid Management Console User Guide">Qpid Management Console User Guide</a>.</p>

<p>If you're using plain text passwords, then simply update your file and the content is read on every connection.</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIknowifthereisaconsumerforamessageIamgoingtosend%3F"></a><span id='tgl_content_qKnowConsumerExisistToSendMessage' class='cloakToggle'></span> How do I know if there is a consumer for a message I am going to send?</h2>

<span id='content_qKnowConsumerExisistToSendMessage' class='cloak' style='display: none'>
<p>Knowing that there is a consumer for a message is quite tricky. That said using the qpid.jms.Session#createProducer with immediate and mandatory set to true will get you part of the way there.</p>

<p>If you are publishing to a well known queue then immediate will let you know if there is any consumer able to pre-fetch that message at the time you send it. If not it will be returned to you on your connection listener.</p>

<p>If you are sending to a queue that the consumer creates then the mandatory flag will let you know if they have not yet created that queue.</p>

<p>These flags will not be able to tell you if the consuming application has received the message and is able to process it.</p>
</span>

<h2><a name="QpidJavaFAQ-HowdoIuseanInVMBrokerformyowntests%3F"></a><span id='tgl_content_qHowToWriteOwnInVMTests' class='cloakToggle'></span> How do I use an InVM Broker for my own tests?</h2>

<span id='content_qHowToWriteOwnInVMTests' class='cloak' style='display: none'>
<p>I would take a look at the testPassiveTTL in <span class="nobr"><a href="https://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/TimeToLiveTest.java?revision=683950&amp;view=markup" title="Visit page outside Confluence" rel="nofollow">TimeToLiveTest<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></p>

<p>The setUp and tearDown methods show how to correctly start up a broker for InVM testing. If you write your tests using a file for the JNDI you can then very easily swap between running your tests InVM and against a real broker.</p>

<p>See our <a href="/confluence/display/qpid/How+to+Use+JNDI" title="How to Use JNDI">JNDI How to page</a> on how to confgure it</p>

<p>Basically though you just need to set two System Properites:</p>

<p>java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextFactory<br/>
java.naming.provider.url = &lt;your JNDI file&gt;</p>

<p>and call getInitialContext() in your code.</p>

<p>You will of course need to have the broker libraries on your class path for this to run.</p>
</span>

<h2><a name="QpidJavaFAQ-HowcanIinspectthecontentsofmyMessageStore%3F"></a><span id='tgl_content_MessageStoreContents' class='cloakToggle'></span> How can I inspect the contents of my MessageStore?</h2>

<span id='content_MessageStoreContents' class='cloak' style='display: none'>
<p>There are two possibilities here:</p>

<p>1) The management console can be used to interogate an active broker and browse the contents of a queue.See the <a href="/confluence/display/qpid/Eclipse+Management+Console" title="Eclipse Management Console">Eclipse Management Console</a> page for further details.</p>

<p>2) The <a href="/confluence/display/qpid/MessageStore+Tool" title="MessageStore Tool">MessageStore Tool</a> can be used to inspect the contents of a persistent message store. Note: this can currently only be used when the broker is offline.</p>
</span>

<h2><a name="QpidJavaFAQ-Whyaremytransientmessagesbeingsoslow%3F"></a><span id='tgl_content_slowtransient' class='cloakToggle'></span> Why are my transient messages being so slow?</h2>

<span id='content_slowtransient' class='cloak' style='display: none'>
<p>You should check that you aren't sending persistent messages, this is the default. If you want to send transient messages you must explicitly set this option</p>
</span>

<h2><a name="QpidJavaFAQ-Whydoesmyproducerfillupthebrokerwithmessages%3F"></a><span id='tgl_content_asyncpublish' class='cloakToggle'></span> Why does my producer fill up the broker with messages?</h2>

<span id='content_slowtransient' class='cloak' style='display: none'>
<p>The Java broker does not currently implement producer flow control. Publishes are currently asynchronous, so there is no ability to rate limit this automatically. While this is something which will be addressed in the future, it is currently up to applications to ensure that they do not publish faster than the messages are being consumed for signifcant periods of time.</p>
</span></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