directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Directory Server v1.5: 1.4.1 Configuration of ApacheDS with Spring (page edited)
Date Thu, 18 Dec 2008 01:02: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/DIRxSRVx11">DIRxSRVx11</a> :
            <a href="http://cwiki.apache.org/confluence/display/DIRxSRVx11/1.4.1+Configuration+of+ApacheDS+with+Spring">1.4.1 Configuration of ApacheDS with Spring</a>
        </span>
    </div>

     <p>
        <a href="http://cwiki.apache.org/confluence/display/DIRxSRVx11/1.4.1+Configuration+of+ApacheDS+with+Spring">1.4.1 Configuration of ApacheDS with Spring</a>
        has been edited by             <a href="http://cwiki.apache.org/confluence/display/~elecharny">Emmanuel Lécharny</a>
            <span class="smallfont">(Dec 17, 2008)</span>.
     </p>
    
     <p>
                 <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=55545&originalVersion=11&revisedVersion=12">(View changes)</a>
     </p>

    <span class="label">Content:</span><br/>
    <div class="greybox wiki-content"><style type='text/css'>/*<![CDATA[*/
table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 3px;margin: 0px;background-color: #f0f0f0}
table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 16px;border: none;}
table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}
table.ScrollbarTable td.ScrollbarParent {text-align: center;border: none;}
table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}

/*]]>*/</style><div class="Scrollbar"><table class='ScrollbarTable'><tr><td width='33%' class='ScrollbarPrevName'>&nbsp;</td><td width='33%' class='ScrollbarParent'><sup><a href="/confluence/display/DIRxSRVx11/1.4.+Basic+configuration+tasks"><img border='0' align='middle' src='/confluence/images/icons/up_16.gif' width='8' height='8'></a></sup><a href="/confluence/display/DIRxSRVx11/1.4.+Basic+configuration+tasks">1.4. Basic configuration tasks</a></td><td width='33%' class='ScrollbarNextName'>&nbsp;<a href="/confluence/display/DIRxSRVx11/1.4.2+Changing+the+server+port+for+LDAP">1.4.2 Changing the server port for LDAP</a></td><td class='ScrollbarNextIcon'><a href="/confluence/display/DIRxSRVx11/1.4.2+Changing+the+server+port+for+LDAP"><img border='0' align='middle' src='/confluence/images/icons/forwd_16.gif' width='16' height='16'></a></td></tr></table></div>

<h1><a name="1.4.1ConfigurationofApacheDSwithSpring-ConfigurationofApacheDSwithSpring"></a>Configuration of ApacheDS with Spring</h1>

<p>This section describes the overall structure of the server configuration, which uses Spring.</p>

<div>
<ul>
  <li><a href='#1.4.1ConfigurationofApacheDSwithSpring-ApacheDSandSpring'>ApacheDS and Spring</a></li>
  <li><a href='#1.4.1ConfigurationofApacheDSwithSpring-UsingApacheDirectoryStudioforconfiguration'>Using Apache Directory Studio for configuration</a></li>
  <li><a href='#1.4.1ConfigurationofApacheDSwithSpring-ApacheDSconfigurableparameters'>ApacheDS configurable parameters</a></li>
  <li><a href='#1.4.1ConfigurationofApacheDSwithSpring-Resources'>Resources</a></li>
</ul></div>

<h2><a name="1.4.1ConfigurationofApacheDSwithSpring-ApacheDSandSpring"></a>ApacheDS and Spring</h2>

<p>There are several options to configure ApacheDS. For instance you can practically do everything programmatically if you embed the server in a Java component.</p>

<p>For this guide we assume a standard installation of ApacheDS run standalone, and the default mechanism to configure this deployment option is (in almost all cases) changing the file <em>server.xml</em>, which is located in the <em>conf</em> directory of your ApacheDS instance. The file is composed of bean definitions, because configuration in ApacheDS 1.5 is done with the help of the <span class="nobr"><a href="http://www.springframework.org" title="www.springframework.org" rel="nofollow">Spring Framework<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span>.</p>

<p><img src="/confluence/download/attachments/55545/spring.gif" align="absmiddle" border="0" /></p>

<p>Despite the fact that the default <em>server.xml</em> shipped with the product is somewhat long, a quick look with the help of the <span class="nobr"><a href="http://springide.org/" title="springide.org" rel="nofollow">Spring IDE<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> displays that the structure is rather simple:</p>

<p><img src="/confluence/download/attachments/55545/serverXml_springGraph.png" align="absmiddle" border="0" /></p>

<p>Most configuration tasks can be accomplished by modifying the properties of existing bean definitions, or (e.g. for a new partition) by adding new beans of certain types and wiring them to the configuration.</p>

<p>Note that the picture above does not show all properties available in the configuration. Only those are visible for which the default <em>server.xml</em> contains a value. There are more, and in case of absence the default value is chosen. Feel free to browse the file to get an impression about further options &#8211; several other features controlled by properties are commented out.</p>

<h2><a name="1.4.1ConfigurationofApacheDSwithSpring-UsingApacheDirectoryStudioforconfiguration"></a>Using Apache Directory Studio for configuration</h2>

<p>Future versions of <span class="nobr"><a href="http://directory.apache.org/studio/" title="directory.apache.org" rel="nofollow">Directory Studio<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> will support creation and manipulations of these configurations files. Stay tuned.</p>

<h2><a name="1.4.1ConfigurationofApacheDSwithSpring-ApacheDSconfigurableparameters"></a>ApacheDS configurable parameters</h2>

<p>Apache Directory Server has many different configuration parameters. This page summarize all the possible parameters, and what are the default values for all of them.</p>

<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-Interceptors"></a>Interceptors</h3>

<p>We have currently 16 possible interceptors we can use in the server. It's important to understand that some of them are mandatory, and other can be activated or disabled. The interceptors order is also very important : most of them can't be moved up or down, without severely impact the server behaviour.</p>

<p>Here is the list of the mandatory interceptors, and the order in which they should appears in the configuration file :</p>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Interceptor </th>
<th class='confluenceTh'> Mandatory </th>
<th class='confluenceTh'> Order </th>
</tr>
<tr>
<td class='confluenceTd'> AciAuthorizationInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 4 </td>
</tr>
<tr>
<td class='confluenceTd'> AuthenticationInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 2 </td>
</tr>
<tr>
<td class='confluenceTd'> ChangeLogInterceptor </td>
<td class='confluenceTd'> No </td>
<td class='confluenceTd'> 7 </td>
</tr>
<tr>
<td class='confluenceTd'> CollectiveAttributeInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 13 </td>
</tr>
<tr>
<td class='confluenceTd'> DefaultAuthorizationInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 5 </td>
</tr>
<tr>
<td class='confluenceTd'> EventInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 14 </td>
</tr>
<tr>
<td class='confluenceTd'> ExceptionInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 6 </td>
</tr>
<tr>
<td class='confluenceTd'> KeyDerivationInterceptor </td>
<td class='confluenceTd'> No </td>
<td class='confluenceTd'> 10 </td>
</tr>
<tr>
<td class='confluenceTd'> NormalizationInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 1 </td>
</tr>
<tr>
<td class='confluenceTd'> OperationalAttributeInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 8 </td>
</tr>
<tr>
<td class='confluenceTd'> PasswordPolicyInterceptor </td>
<td class='confluenceTd'> No </td>
<td class='confluenceTd'> 9 </td>
</tr>
<tr>
<td class='confluenceTd'> ReferralInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 3 </td>
</tr>
<tr>
<td class='confluenceTd'> ReplicationInterceptor </td>
<td class='confluenceTd'> No </td>
<td class='confluenceTd'> 16 </td>
</tr>
<tr>
<td class='confluenceTd'> SchemaInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 11 </td>
</tr>
<tr>
<td class='confluenceTd'> SubentryInterceptor </td>
<td class='confluenceTd'> Yes </td>
<td class='confluenceTd'> 12 </td>
</tr>
<tr>
<td class='confluenceTd'> TriggerInterceptor </td>
<td class='confluenceTd'> No </td>
<td class='confluenceTd'> 15 </td>
</tr>
</tbody></table>

<p>The following table represents the same interceptor in the order they must appear :</p>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Interceptor </th>
<th class='confluenceTh'> Mandatory </th>
</tr>
<tr>
<td class='confluenceTd'> NormalizationInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> AuthenticationInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> ReferralInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> AciAuthorizationInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> DefaultAuthorizationInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> ExceptionInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> ChangeLogInterceptor </td>
<td class='confluenceTd'> No </td>
</tr>
<tr>
<td class='confluenceTd'> OperationalAttributeInterceptor </td>
<td class='confluenceTd'> Yes</td>
</tr>
<tr>
<td class='confluenceTd'> PasswordPolicyInterceptor </td>
<td class='confluenceTd'> No</td>
</tr>
<tr>
<td class='confluenceTd'> KeyDerivationInterceptor </td>
<td class='confluenceTd'> No </td>
</tr>
<tr>
<td class='confluenceTd'> SchemaInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> SubentryInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> CollectiveAttributeInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> EventInterceptor </td>
<td class='confluenceTd'> Yes </td>
</tr>
<tr>
<td class='confluenceTd'> TriggerInterceptor </td>
<td class='confluenceTd'> No </td>
</tr>
<tr>
<td class='confluenceTd'> ReplicationInterceptor </td>
<td class='confluenceTd'> No </td>
</tr>
</tbody></table>


<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-AciAuthorizationInterceptor%3A"></a>AciAuthorizationInterceptor :</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;aciAuthorizationInterceptor/&gt;
      ...</pre>
</div></div>


<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-AuthenticationInterceptor%3A"></a>AuthenticationInterceptor :</h4>

<p>  Set&lt;Authenticator&gt; : The list of supported Authenticators. Currently, we have Anonymous, Simple and Strong authenticators. We can just list the associated beans in the server.xml file. Here is a sample of such a configuration :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;authenticationInterceptor&gt;
        &lt;s:property name=<span class="code-quote">"authenticators"</span>&gt;
          &lt;s:set&gt;
            &lt;!-- Define a <span class="code-keyword">new</span> Simple authenticator with a cache of 50 elements --&gt;
            &lt;s:bean id=<span class="code-quote">"simpleAuthenticator"</span> 
                    class=<span class="code-quote">"org.apache.directory.server.core.authn.SimpleAuthenticator"</span>&gt;
              &lt;s:constructor-arg value=<span class="code-quote">"50"</span>/&gt;
            &lt;/s:bean&gt;

            &lt;!-- Define a Strong authenticator --&gt;
            &lt;s:bean id=<span class="code-quote">"strongAuthenticator"</span> 
                    class=<span class="code-quote">"org.apache.directory.server.core.authn.StrongAuthenticator"</span>/&gt; 
          &lt;/s:set&gt;
        &lt;/s:property&gt;
      &lt;/authenticationInterceptor&gt;
      ...</pre>
</div></div>

<p>  The possible values are : AnonymousAuthenticator, SimpleAuthenticator and StrongAuthenticator, out of which the SimpleAuthenticator has a possible parameter, the cache size (an integer value)</p>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-CollectiveAttributeInterceptor"></a>CollectiveAttributeInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;collectiveAttributeInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-DefaultAuthorizationInterceptor"></a>DefaultAuthorizationInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;defaultAuthorizationInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ChangeLogInterceptor"></a>ChangeLogInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;changeLogInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-EventInterceptor"></a>EventInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;eventInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ExceptionInterceptor"></a>ExceptionInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;exceptionInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-KeyDerivationInterceptor"></a>KeyDerivationInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;keyDerivationInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-NormalizationInterceptor"></a>NormalizationInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;normalizationInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-OperationalAttributeInterceptor"></a>OperationalAttributeInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;operationalAttributeInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-PasswordPolicyInterceptor"></a>PasswordPolicyInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;passwordPolicyInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ReferralInterceptor"></a>ReferralInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;referralInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ReplicationInterceptor"></a>ReplicationInterceptor</h4>
<p>  This interceptor manage the replication. It has many parameters, most of them being defined in a specific clas : ReplicationConfiguration. Let's describe those parameters.</p>

<p>  Each instance has a name, which allows multiple instances of the server to be present on the same machine, but with possible replication between them.</p>

<p>  First, let see an exemple</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;replicationInterceptor&gt;
      &lt;configuration&gt;
        &lt;replicationConfiguration logMaxAge=<span class="code-quote">"5"</span> 
                                  replicaId=<span class="code-quote">"instance_a"</span>
                                  replicationInterval=<span class="code-quote">"2"</span>
                                  responseTimeout=<span class="code-quote">"10"</span>
                                  serverPort=<span class="code-quote">"10390"</span>&gt;
          &lt;s:property name=<span class="code-quote">"peerReplicas"</span>&gt;
            &lt;s:set&gt;
              &lt;s:value&gt;instance_b@localhost:1234&lt;/s:value&gt;
              &lt;s:value&gt;instance_c@localhost:1234&lt;/s:value&gt;
            &lt;/s:set&gt;
          &lt;/s:property&gt;
        &lt;/replicationConfiguration&gt;
      &lt;/configuration&gt;
    &lt;/replicationInterceptor&gt;
    ...</pre>
</div></div>

<p>  The ReplicationConfiguration bean contains those parameters :</p>

<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Name </th>
<th class='confluenceTh'> Type </th>
<th class='confluenceTh'> Default value </th>
<th class='confluenceTh'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> logMaxAge </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> 7 </td>
<td class='confluenceTd'> Maximum days of change logs stored </td>
</tr>
<tr>
<td class='confluenceTd'> replicaId </td>
<td class='confluenceTd'> String </td>
<td class='confluenceTd'> none </td>
<td class='confluenceTd'> ID of the replica </td>
</tr>
<tr>
<td class='confluenceTd'> replicationInterval </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> 5 </td>
<td class='confluenceTd'> Replication data exchange interval (seconds) between two replicas </td>
</tr>
<tr>
<td class='confluenceTd'> responseTimeout </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> 60 </td>
<td class='confluenceTd'> response timeout value (seconds) for each sent message <br/>
during the communication between replicas. </td>
</tr>
<tr>
<td class='confluenceTd'> serverPort </td>
<td class='confluenceTd'> int </td>
<td class='confluenceTd'> 7846 </td>
<td class='confluenceTd'> TCP/IP port number that the interceptor listens to </td>
</tr>
<tr>
<td class='confluenceTd'> <b>csnFactory</b> </td>
<td class='confluenceTd'> CSNFactory </td>
<td class='confluenceTd'> DefaultCSNFactory </td>
<td class='confluenceTd'> The CSNFactory for generating CSNs </td>
</tr>
<tr>
<td class='confluenceTd'> <b>peerReplicas</b> </td>
<td class='confluenceTd'> Set&lt;String&gt; </td>
<td class='confluenceTd'> none </td>
<td class='confluenceTd'> The remote peer replica list </td>
</tr>
<tr>
<td class='confluenceTd'> <b>store</b> </td>
<td class='confluenceTd'> DerbyReplicationStore </td>
<td class='confluenceTd'> none </td>
<td class='confluenceTd'> The ReplicationStore which stores the change log </td>
</tr>
</tbody></table>

<p>Some of those parameters are complex types : <b>csnFactory</b>, <b>peerReplicas</b> and <b>store</b>. Let's describe those parameters more in detail</p>

<h5><a name="1.4.1ConfigurationofApacheDSwithSpring-csnFactory"></a>csnFactory</h5>

<p>This parameter define the class factory to use to create a CSN (Change Sequence Number). ApacheDS has a default implementation, which will be used if this parameter is not given, otherwise one can provide his own factory. In this case, a constructor parameter must be given, the ReplicaId ( a String, 1 to 8 chars long).</p>

<h5><a name="1.4.1ConfigurationofApacheDSwithSpring-peerReplicas"></a>peerReplicas</h5>

<p>This is the list of remote replicas. Each replica is defined by a name, a host address and a port. The syntax must be :<br/>
&lt;replicaid&gt;@&lt;host&gt;:&lt;port&gt;, like ServerAAA@10.1.2.7:1234.</p>

<h5><a name="1.4.1ConfigurationofApacheDSwithSpring-store"></a>store</h5>

<p>This is the backend used to store element to replicate. We are currently using Derby, but one might want to change that, if the new ReplicaStore instance implement this interface. This is not a common usage to change this parameter, usually, it's better to keep it absent, using the default value.</p>

<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/confluence/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
<p>I personally think that this parameter should not be exposed, as the csnFactory.</p></td></tr></table>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-SchemaInterceptor"></a>SchemaInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;schemaInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-SubentryInterceptor"></a>SubentryInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;subentryInterceptor/&gt;
      ...</pre>
</div></div>

<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-TriggerInterceptor"></a>TriggerInterceptor</h4>
<p>  No configuration. We can just activate the interceptor by adding it to the list of interceptors :</p>

<div class="code"><div class="codeContent">
<pre class="code-java">&lt;defaultDirectoryService ...
    ...
    &lt;interceptors&gt;
      ...
      &lt;triggerInterceptor/&gt;
      ...</pre>
</div></div>



<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-Partition"></a>Partition</h3>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-BTreePartition"></a>BTreePartition</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-Partition%3F%3F%3F"></a>Partition ???</h4>


<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-Service"></a>Service</h3>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-DefaultDirectoryService"></a>DefaultDirectoryService</h4>


<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-JDBM"></a>JDBM</h3>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-JdbmPartition"></a>JdbmPartition</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-JdbmIndex"></a>JdbmIndex</h4>


<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-Protocols"></a>Protocols</h3>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ChangePasswordServer"></a>ChangePasswordServer</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-DnsServer"></a>DnsServer</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-KdcServer"></a>KdcServer</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-LdapService"></a>LdapService</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-NtpServer"></a>NtpServer</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-StandardThreadPool%3F%3F%3F"></a>StandardThreadPool ???</h4>


<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-LDAPHandlers"></a>LDAP Handlers</h3>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-CramMd5MechanismHandler"></a>CramMd5MechanismHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-DigestMd5MechanismHandler"></a>DigestMd5MechanismHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-GssapiMechanismHandler"></a>GssapiMechanismHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-NtlmMechanismHandler"></a>NtlmMechanismHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-PlainMechanismHandler"></a>PlainMechanismHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-SimpleMechanismHandler"></a>SimpleMechanismHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-GracefulShutdownHandler"></a>GracefulShutdownHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-LaunchDiagnosticUiHandler"></a>LaunchDiagnosticUiHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-StartTlsHandler"></a>StartTlsHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-StoredProcedureExtendedOperationHandler"></a>StoredProcedureExtendedOperationHandler</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ExtendedOperationHandler%3F%3F%3F"></a>ExtendedOperationHandler ???</h4>


<h3><a name="1.4.1ConfigurationofApacheDSwithSpring-ADS"></a>ADS</h3>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ReplicationConfiguration"></a>ReplicationConfiguration</h4>
<h4><a name="1.4.1ConfigurationofApacheDSwithSpring-ApacheDSJdbmPartition"></a>ApacheDSJdbmPartition</h4>



<h2><a name="1.4.1ConfigurationofApacheDSwithSpring-Resources"></a>Resources</h2>

<ul>
	<li><span class="nobr"><a href="http://static.springframework.org/spring/docs/1.2.x/reference/index.html" title="www.springframework.org" rel="nofollow">Spring Framework 1.2.x Reference Documentation<sup><img class="rendericon" src="/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></li>
</ul>
</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