Hi,
I know I’am able to create a Channel with a Dead Event Store by setting its channel attributes with com.pcbsys.nirvana.client.nChannelAttributes.setDeadEventHandler
However I’m not able to find any direct counterpart to get the Dead Event Store settings from an existing Channel!
Does anyone know if there is an indirect way to get this (through the Admin API or other)?
I must be possible as the Enterprise Manager gives that information directly.
(checked docs from 9.9, 9.12 and 10.1).
Best Regards,
1 Like
fml2
(fml2 *)
October 26, 2017, 10:09pm
2
You could look into EM to see what APIs it uses.
You have to use the nAdmin API, this information is not available on the client API:
nLeafNode com.pcbsys.nirvana.nAdminAPI.nLeafNode.findDeadEventStore()
import com.wm.app.b2b.server.ServiceException;
import com.pcbsys.nirvana.client.nIllegalArgumentException;
import com.pcbsys.nirvana.client.nSessionAttributes;
import com.pcbsys.nirvana.nAdminAPI.nAdminIllegalArgumentException;
import com.pcbsys.nirvana.nAdminAPI.nLeafNode;
import com.pcbsys.nirvana.nAdminAPI.nRealmNode;
public static final void getChannelInfo(IData pipeline) throws ServiceException
{
nRealmNode nrm = null;
nLeafNode leaf = null;
nLeafNode dsel = null;
IDataCursor pipelineInCursor = pipeline.getCursor();
String realm = IDataUtil
.getString(pipelineInCursor, "realm" );
String name = IDataUtil
.getString(pipelineInCursor, "channel" );
pipelineInCursor.destroy();
try
{
nrm = new nRealmNode(new nSessionAttributes( realm ));
nrm.waitForEntireNameSpace(1000);
leaf = (nLeafNode) nrm.findNode(name);
dsel = leaf.findDeadEventStore();
}
catch (nIllegalArgumentException
| nAdminIllegalArgumentException e)
{ throw new ServiceException(e); }
catch (Exception e) { throw new ServiceException(e); }
IDataCursor pipelineOutCursor = pipeline.getCursor();
if (dsel != null)
{
IDataUtil.put( pipelineOutCursor,
"deadEventStore",
String.valueOf(dsel.getAbsolutePath()));
}
pipelineOutCursor.destroy();
}
1 Like