if(!hasAccess) throw new SecurityException("no access to change cfx settings");
// name
if(StringUtil.isEmpty(name))
throw new ExpressionException("name cannot be a empty value");
// serverLibrary
if(StringUtil.isEmpty(strServerLibrary)) throw new ExpressionException("serverLibrary cannot be a empty value");
Resource serverLibrary = ResourceUtil.toResourceExisting(config, strServerLibrary);
// procedure
if(StringUtil.isEmpty(procedure)) throw new ExpressionException("procedure cannot be a empty value");
renameOldstyleCFX();
Element tags=_getRootElement("ext-tags");
// Update
Element[] children = ConfigWebFactory.getChildren(tags,"ext-tag");
for(int i=0;i<children.length;i++) {
String n=children[i].getAttribute("name");
if(n!=null && n.equalsIgnoreCase(name)) {
Element el=children[i];
if(!"cpp".equalsIgnoreCase(el.getAttribute("type"))) throw new ExpressionException("there is already a java cfx tag with this name");
el.setAttribute("server-library",serverLibrary.getAbsolutePath());
el.setAttribute("procedure",procedure);
el.setAttribute("keep-alive",Caster.toString(keepAlive));
el.setAttribute("type","cpp");
return ;