标签: filenet-content-engine

通过符号名称获取PropertyTemplate的最快方法是使用IBM FileNet CE API

我知道的唯一方法是迭代对象存储的属性模板,并通过比较符号名称和一些String来找到我需要的那个:

String propertySymName = "someName";
ObjectStore os = Factory.ObjectStore.fetchInstance(...); //assume object store is fetched correctly

String[] properties = {PropertyNames.PROPERTY_TEMPLATES};
os.fetchProperties(properties);
PropertyTemplateSet propertyTemplates = os.get_PropertyTemplates();
Iterator<?> iterator = propertyTemplates.iterator();
while (iterator.hasNext()) {
    PropertyTemplate propertyTemplate = (PropertyTemplate) iterator.next();
    String[] arg = {PropertyNames.SYMBOLIC_NAME};
    propertyTemplate.refresh(arg);
    if (propertyTemplate.get_SymbolicName().equals(propertySymName)) {
       //do some stuff
    }

}
Run Code Online (Sandbox Code Playgroud)

但是如果对象存储库有很多属性模板,那么它可能会相当慢.有任何想法吗?我正在使用CE API 5.1

filenet-p8 filenet-content-engine

6
推荐指数
1
解决办法
1762
查看次数

Filenet P8 5.1和5.2用新内容删除/替换文档内容

其中一个要求是用新内容更新文档也删除旧文档.文档ID和上一个文档的其他属性应该指向具有新内容的新文档.

有任何样本片段做同样的感谢.

filenet-p8 filenet filenet-content-engine

5
推荐指数
1
解决办法
7903
查看次数

FileNet - 要复制的数据超出空间可用错误

其他一些团队正在调用我们的FileNet自定义应用程序来搜索文档.我相信有些用户正面临间歇性故障,因为我们正在获取门票(虽然没有用户报告此问题)以下错误,我尝试用不同的方案验证我们的服务,但他们都工作但我不知道是什么导致此错误.任何建议/帮助将不胜感激.

<stackTrace> 
at com.filenet.apiimpl.transport.ejb.EJBSession.throwException(EJBSession.java:1122) 
at com.filenet.apiimpl.transport.ejb.EJBSession.throwException(EJBSession.java:1045) 
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl._getObjects(EJBSession.java:650) 
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl.getObjects(EJBSession.java:575) 
at com.filenet.apiimpl.transport.ejb.EJBSession.getObjects(EJBSession.java:471) 
at com.filenet.apiimpl.util.SessionHandle.getObjects(SessionHandle.java:346) 
at com.filenet.apiimpl.core.Session.callGetObjects(Session.java:132) 
at com.filenet.apiimpl.core.Session.executeGetObject(Session.java:340) 
at com.filenet.apiimpl.core.Session.getObject(Session.java:354) 
at com.filenet.apiimpl.core.DispatchEntries.FetchObject_28(DispatchEntries.java:907) 
at com.filenet.apiimpl.core.ObjectStoreImpl.fetchObject(ObjectStoreImpl.java:1643) 
at com.filenet.api.core.Factory$ClassDescription.fetchInstance(Factory.java:21761) 
at ecm.service.p8ceservices.implementation.integration.SearchP8ObjectAdapter.retrievePropertyDefinitions(SearchP8ObjectAdapter.java:352) 
at ecm.service.p8ceservices.implementation.integration.SearchP8ObjectAdapter.integrate(SearchP8ObjectAdapter.java:158) 
at ecm.service.p8ceservices.implementation.integration.ContentEngineAdapter.execute(ContentEngineAdapter.java:37)
</stackTrace>


</exception><exception name="java.lang.IndexOutOfBoundsException" message="Data to be copied (length 2124) exceeds space available (480)" sequence="0" guid="sfr2mx3l:jewe2wkf:00000000:00000121"><source class="com.ibm.rmi.util.buffer.SimpleByteBuffer" archive="" vendor="" version="" /><stackTrace> 
at com.ibm.rmi.util.buffer.SimpleByteBuffer.write(SimpleByteBuffer.java:166) at com.ibm.rmi.iiop.ClientRequestImpl.reInvoke(ClientRequestImpl.java:489) 
at com.ibm.rmi.corba.ClientDelegate.invoke(ClientDelegate.java:637) at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1377) 
at com.ibm.rmi.corba.ClientDelegate.invoke(ClientDelegate.java:695) at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1407) 
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:484) at com.filenet.apiimpl.transport.ejbstubs._Engine_Stub.getObjects(Unknown Source) 
at com.filenet.apiimpl.transport.ejb.EJBSession$EJBImpl._getObjects(EJBSession.java:638)</stackTrace>
Run Code Online (Sandbox Code Playgroud)

corba ibm-jdk filenet-content-engine filenet-cpe

5
推荐指数
1
解决办法
133
查看次数

Filenet 更改文档类

我正在尝试更改给定文档的类,下面是我使用的代码

Document p8Document = Factory.Document.getInstance(p8ObjectStore,
                oldDocumentClassName, new Id(documentId));
p8Document.changeClass(newDocClassName);
        p8Document.save(RefreshMode.REFRESH);
Run Code Online (Sandbox Code Playgroud)

执行代码后,我可以看到文档类正在成功更改。现在的问题是,如果我为相同的 guid 再次运行代码,下面的行将使用旧文档类名称再次获取文档。

Document p8Document = Factory.Document.getInstance(p8ObjectStore,
                    oldDocumentClassName, new Id(documentId));
Run Code Online (Sandbox Code Playgroud)

filenet-p8 filenet filenet-content-engine

4
推荐指数
1
解决办法
1668
查看次数

无需额外往返即可获取对象存储属性

我正在使用 IBM FileNet CE API 5.1 并面临性能问题,因为循环中的额外刷新和大量迭代(25000+)。这是代码示例:

for (Document document : documents) {
       ObjectStore objectStore = document.getObjectStore();
       objectStore.refresh(); //round-trip
       String symbolicName = objectStore.get_SymbolicName();

       ...
 }
Run Code Online (Sandbox Code Playgroud)

问题是,刷新前的 objectStore 对象根本没有任何缓存属性,甚至没有对象标识(如果我有我可以创建对象存储缓存以避免在每次迭代中刷新)。

文档可能有不同的对象存储(我正在搜索多个对象存储)。

filenet-p8 filenet filenet-content-engine

3
推荐指数
1
解决办法
2319
查看次数

在 FileNet ContentEngine 中搜索文件夹并检索其类

我已经得到了用于搜索文件夹和检索属性的代码。参考:在 FileNet 中搜索特定文件夹的文件夹层次结构

我正在尝试检索文件夹对象的类名,以便区分将存储在自定义文件夹中的不同类型的文档。

我遍历 Properties 集合,但类的名称不是属性。

String sqlStatement = "SELECT * FROM [Folder] WHERE ([FolderName] LIKE '%MyFolder%')";
SearchSQL sqlObject = new SearchSQL(sqlStatement);
RepositoryRowSet rowSet = searchScope.fetchRows(sqlObject, null, null, new Boolean(true));
Iterator iter = myRows.iterator();
while (iter.hasNext()) {
    RepositoryRow row = (RepositoryRow) iter.next();
    String folderID = row.getProperties().getIdValue("ID").toString();
}
Run Code Online (Sandbox Code Playgroud)

我试过 row.getClass() 但它只是返回: RepositoryRowImpl

java filenet-p8 filenet-content-engine

3
推荐指数
1
解决办法
730
查看次数

Filenet P8如何为jace.jar附加Javadoc

我是Filenet的新手,我被要求用Java开发一个事件动作处理程序.
我正在尝试为jace.jar库定义一个Javadoc ,但没有成功.
有谁知道这个Javadoc的URL是什么?(我需要com.filenet.api包装)

javadoc filenet-p8 filenet-content-engine

2
推荐指数
1
解决办法
3188
查看次数

如何在 filenet p8 中创建多内容文档?

我需要在 FileNet 中创建多内容文档。例如,假设我需要一个文档,其中包含一个 Word 文档、一个 JPEG 文件和一个 MP4 视频文件作为其内容。

任何帮助表示赞赏。谢谢!

filenet-p8 filenet filenet-content-engine

1
推荐指数
1
解决办法
2707
查看次数

什么是在Filenet P8 4.5或更高版本中删除版本化文档的正确有效方法?

我想删除当前版本中已设置特定属性的文档.如果已设置此属性,则需要删除该文档的所有版本.我当前搜索的实现IsCurrentVersion = TRUE and foo = 'bar'有一个问题,即只删除当前版本而不是旧版本.所以我假设我需要删除完整的VersionSeries?直到现在我用

doc.delete();
doc.save(RefreshMode.NO_REFRESH);
Run Code Online (Sandbox Code Playgroud)

我找到的每个文件.如何从系列中检索所有文档并将其删除?如果我将它添加到批处理中会更有效吗?

java filenet-p8 filenet filenet-content-engine

1
推荐指数
1
解决办法
1709
查看次数

如何从FileNet数据库中提取文档

我正在开发一个需要从FileNet系统中提取文档的项目.我需要提取由Object_ID标识的文档并将它们存储在文件中.该系统在Windows下运行,并且正在使用Oracle 11G数据库.问题是:有没有办法使用直接数据库访问和SQL检索文档内容?我可以编写一个SQL查询,通过将其Object_ID作为参数传递来检索文档的二进制内容.谢谢

filenet-p8 filenet filenet-content-engine

1
推荐指数
1
解决办法
3632
查看次数

为什么WebSphere的线程会挂起?

我有WAS 7和Filenet CE 5.1并且有麻烦.为什么WebSphere的线程会挂起.是JDBC驱动程序错误吗?

你能不能建议我.非常感谢!

[22.06.16 13:14:58:921 YEKT] 0000001d ThreadMonitor W   WSVR0605W: Thread "WebContainer : 15" (00000047) was active for 631301 msec and can be hanged up.  Total threads that can be hang up: 69.
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:140)
        at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1782)
        at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:4838)
        at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:6150)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:402)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:332)
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecute(WSJdbcPreparedStatement.java:942)
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.execute(WSJdbcPreparedStatement.java:618)
        at com.filenet.engine.dbpersist.DBExecutionElement.execute(DBExecutionElement.java:218)
        at com.filenet.engine.dbpersist.DBExecutionContext.getNextResult(DBExecutionContext.java:106)
        at com.filenet.engine.dbpersist.DBStatementList.executeStatements(DBStatementList.java:161)
        at com.filenet.engine.persist.DBStatementList2.executeStatementsNoResult(DBStatementList2.java:57)
        at com.filenet.engine.persist.IndependentPersister.executeChangeWork(IndependentPersister.java:409)
        at com.filenet.engine.persist.IndependentPersister.executeChange(IndependentPersister.java:225)
        at com.filenet.engine.persist.SubscribablePersister.executeChange(SubscribablePersister.java:172)
        at com.filenet.engine.jca.impl.RequestBrokerImpl.executeChanges(RequestBrokerImpl.java:1266) …
Run Code Online (Sandbox Code Playgroud)

java jdbc websphere-7 filenet-content-engine

0
推荐指数
1
解决办法
426
查看次数