欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Methods

程序员文章站 2022-05-03 21:30:01
...
[b]Methods[/b]
. Methods 是一些可执行的脚本或程序,在repository 用dm_method对象表示
- 方法对象有一些属性去表示如何运行相应的脚本或程序
- 这些脚本或程序可以是Docbasic脚本,java 方法,或者其他任何的脚本或程序语言编写的程序
. 方法可以通过下列方式被执行
- DA/DQL/API
- 通过scheduled job执行
- 被workflow autotask 调用执行
. Documentum 本身有很多方法集合去执行系统管理任务
. 用户可以根据需要创建他们自己的方法

[b]Execution agents[/b]
Documentum 有3种执行代理:dmbasic method server, Java method server,and Content Server
. dmbasic method server
- dmbasic method server 是一个安装在Content Server上的独立进程, 和content server在同一主机。
- 当想执行Docbasic scripts的时候,使用dmbasic method server
- 使用dmbasic method server需要设置method的下列属性
method_type attribute = dmbasic.
use_method_server attribute = T (TRUE).
run_as_server attribute = T (TRUE).
. Java method server
- Documentum 提供Apache Tomcat Java method server作为Content Server 的安装组件之一,同时提供了一个叫做DO_METHOD的servlet去执行java methods。
- 当想执行安装在java method server上的java 方法的时候(放在$documentum/dba/java_methods),使用java method server
- 使用Java method server需要设置method的下列属性
method_type attribute = java.
use_method_server attribute = T (TRUE).
run_as_server attribute = T (TRUE).
. Content server
Content Server 是默认的执行代理,如果没有设置use_method_server属性为true。
. 性能
为了更好的性能,无论什么时候都推荐使用method server 或者Java method server。Content Server每次去执行方法的时候都会去开一个新的进程,这个进程又会开新的repository 和 RDBMS session。

[b]Creating a method object[/b]
- 用户必须要有Sysadmin or Superuser权限才能去创建method
- DA创建
- DAB创建
- DQL
CREATE dm_method OBJECT
SET attribute_name[[index]]=value
[,SETFILE filepath CONTENT_FORMAT=format_name]
{,SETFILE filepath PAGE_NO=page_number}
- API

create,c,dm_method
set,c,l,object_name
doSomeWork
set,c,l,method_verb
xx.xx.xx.doSomeWork
set,c,l,method_type
java
set,c,l,use_method_server
T
set,c,l,launch_direct
T
set,c,l,run_as_server
T
save,c,l

- 创建可以被workflow自动执行的方法
不能通过DA指定,可以通过DAB创建时选中Use as workflow method 复选框, 或者设置该方法的a_special_app属性为workflow。

[b]Executing a method on demand[/b]
- DA执行
- DQL执行
EXECUTE function_name [[FOR] object_id] [WITH argument = value {,argument = value}]

EXECUTE do_method WITH method = 'update_legacy', arguments = '090000837000214b'

- API执行
apply,session,object_id,function_name,argument,datatype,value

apply,c,NULL,DO_METHOD,METHOD,S,doSomeWork,ARGUMENTS,S,-docbase IDEV -user dmadmin -ticket dmadmin
:arrow:

上一篇: SVG

下一篇: 使用 webpack 引用 zepto