如何使用shark

Shark和SharkReader安装和使用之路 上周五在手机android4.0.3上安装了Shark_lv.n3o.shark_102.apk和SharkReader_lv.n3o.sharkreader_15.apk对数据包进行抓取和读取,当然就两个apk感觉安装和快就能搞定,装好之后麻烦来了,不能运行,总提示没有权限运行,需要root权限才能使用。   一、而接下来,开始了对android4.0.3获取root权限:   刚开始同... 阅读详情
摘要:

你可以在这里找到被问的频率最高的问题的答案

 

数据库

如何配置shark工作在其他的数据库上?

当安装进程结束后,你的默认HipersonicSQL数据库将被创建,在他被安静地使用时,shark还提供了许多其他数据库可供选择:DB2、PostgreSQL、MYSQL……

l首先,你需要停止所有正在运行的shark实例。

l其次,编辑configure.properties文件设置如下属性:

ü        db_loader_job:包含loader job路径的名称属性有:db2、hsql、infomix、mssql、mysql、oracle、postgresql、sybase

ü        db_user: 数据库用户名称

ü        db_passwd: 数据库密码

ü        db_ext_dirs:包含jdbc驱动程序的目录

ü        ${db_loader_job}_JdbcDriver:你想要使用的jdbc驱动程序的名称

ü        ${db_loader_job}_Connection_Url:数据库连接字符串

l运行configure.bat/sh

 

如何清空shark数据库?

在测试流程时,你需要清空数据库使程序从头开始,为了清空数据库,你应先运行configure.bat/sh文件,如果你不想等待不必要的过滤、war归档,你可以运行bin/recreateDB.[bat|sh] 

如何调整数据库存取?

Shark引擎是一个组件群,其中一些通过使用DODS和数据库交互。从这里 你可以很便利地知道一些DODS行为控制的参数用法。

DatabaseManager.DB.*.Connection.MaxPoolSize

数据库连接池能够保持的数据库连接的最大数。如果你知道你的应用程序不需要如此多的并发连接量,你可以安全地减少他,而不会影响应用程序

DatabaseManager.DB.*.ObjectId.CacheSize

对象标识符的数量,他们作为组被分派,并且保存在内存中,这些标识符被分配为新的数据对象,并且插入到数据库中。

DatabaseManager.defaults.cache.maxCacheSize

Cache的数量被对象的最大数所限制,当这个cache满了以后,里面的对象将以LRU算法被新的对象替换。

DatabaseManager.defaults.cache.maxSimpleCacheSize and DatabaseManager. defaults.cache.maxComplexCacheSize

和主对象缓存相比,有一个使用两个查询缓存的可能性(简单的和复杂的)。这些查询缓存也是使用lru算法的缓存。

DatabaseManager.defaults.maxExecuteTime

每一个比这个最长执行时间长的查询将白输出到日志文件。这样你可以查明你的应用程序或者引擎内部的问题。

DatabaseManager.DB.sharkdb.Connection.MaxPoolSize=300

DatabaseManager.DB.sharkdb.ObjectId.CacheSize=200

DatabaseManager.defaults.cache.maxCacheSize=100

DatabaseManager.defaults.cache.maxSimpleCacheSize=50

DatabaseManager.defaults.cache.maxComplexCacheSize=25

DatabaseManager.defaults.maxExecuteTime=200

并不是将缓存设置越大越能得到好的性能J,还有参考内存消耗和其他因素。

注意:如果你运行了多个引擎实例在同一个数据库上(例如集群环境),既不能使用DODS也不能使用shark缓存

 

客户端接口

如何使用Shark库

客户端应用程序通过org.enhydra.shark.api.client包的接口设置使用shark库。对于一个应用程序首先应该做的是通过configure()方法配置库(这个配置将来自jar文件中的shark.conf),或者指定文件名,或者指定properties对象。在配置完org.enhydra.shark.Shark.getInstance()后,返回一个SharkInterface实例。从此刻开始,应用程序开发者可以集中精力在如何使用这些库上了,或者是得到连接,或者是执行一个分配,还或者是得到一个AdminIntercace和管理用户和组等操作。

 

例1:不是非常有用的work-list句柄

例子的第一行是使用conf/Shark.conf文件配置工作流引擎,然后是得到连接,成功连接上工作流服务器以后向资源对象询问这个用户有多少个分配。

Shark.configure("conf/Shark.conf");

   SharkConnection sConn = Shark.getInstance().getConneciton();

   sConn.connect(userId, passwd, engineName, scope);

   if (0 < sConn.getResourceObject().how_many_work_item())

       System.err.println("Oh, let these tasks wait until tomorrow!");

   }

   System.out.println("Job done!");

 

例2:用户、组管理

这个例子既不能在LDAP组件下运行,也不能在基于数据库组件为空时运行,你至少拥有一个组和一个用户的情况下才能运行。

Shark.configure();

   UserGroupAdministration ugAdmin =

      Shark.getInstance().getAdminInterface().getUserGroupAdministration()

   ugAdmin.crateGroup("developers","sweat-shop");

   ugAdmin.createUser("developers", "user", "secret", "Jane Doe", "some@email.address");

   System.out.println("Group and user created!");

 

例3:向shark库中加载包

XPDL文件包的位置和知识库包的根目录是有关的。在你执行这个操作以前,你可能想通过调用getDefinedPackagesPath()方法在你的客户端对象中得到所有的相关路径。

首先,你需要得到XPDL文件相对于知识库根路径的位置,然后,你需要一个PackageAdmininistration实例。

String xpdlName = "test.xpdl";

   Properties props = new Properties();

   props.setProperty("enginename","testSharkInstance");

   props.setProperty("EXTERNAL_PACKAGES_REPOSITORY","c:/Shark/repository/xpdls");

   Shark.configure(props);

   String pkgId = Shark.getInstance().getRepositoryManager().getPackageId(xpdlName);

   PackageAdministration pa = Shark.getInstance().getAdminInterface().getPackageAdministration();

   if (!pa.isPackageOpened(pkgId)) {

      pa.openPackage(xpdlName);

   }

   System.out.println("Package "+ xpdlName +" is loaded");

 

例4:创建或者开始一个流程

在将xpdl文件加载到shark以后,让我们创建,初始化变量值,启动一个基于xpdl定义的流程。

String pkgId="test";

   String pDefId1="basic";

   String pDefId2="complex";

 

   SharkConnection sConn=Shark.getInstance().getConnection();

 

   sConn.connect("user","secret","","");

 

   WfProcess proc1=sConn.createProcess(pkgId,pDefId1);

   WfProcess proc2=sConn.createProcess(pkgId,pDefId2);

 

   proc1.set_process_context("test_var","This is String variable defined in XPDL for the process basic");

   proc2.set_process_context("counter",new Long(55));

 

   proc1.start();

proc2.start();    

 

例5:设置变量

在成功地连接上shark,获得分配列表以后,让我们做点有用的事,像设置变量和完成活动。

/*

   SharkConnection sConn;

   String activityId;

   String vName;

   String vValue;

    */

   WfAssignment a = null;

   WfAssignment[] ar = sConn.getResourceObject().get_sequence_work_item(0);

   for (int i = 0; i < ar.length; ++i) {

      if (activityId.equals(ar[i].activity().key())) {

         a = ar[i];

         break;

      }

   }

   if (null == a)

      throw new BaseException("Activity:"

                              + activityId

                              +" not found in "

                              + sConn.getResourceObject().resource_key()

                              +"'s worklist");

   if (!a.get_accepted_status())

      throw new BaseException("I don't own activity "+ activityId);

   Map _m = new HashMap();

   WfActivity activity = a.activity();

   Object c = activity.process_context().get(vName);

   if (c instanceof Long) {

      c = new Long(vValue);

   } else {

      c = vValue;

   }

   _m.put(vName, c);

   activity.set_result(_m);

   activity.complete();    

 

例6:得到基于一些标准的流程管理器

这个例子演示了如何得到基于一些标准的流程管理器。他将尝试得到包Id为“test”的,状态为enabled的所有流程的管理器。

ExecutionAdministration eAdmin=Shark.getInstance().getAdminInterface().getExecutionAdministration();

   eAdmin.connect("user","secret","","");

 

   WfProcessMgrIterator pmi=eAdmin.et_iterator_processmgr();

   query="packageId.equals(/"test/") && enabled.booleanValue()";

   pmi.set_query_expression(query);

   WfProcessMgr[] procs=pmi.get_next_n_sequence(0);

 

例7:得到基于一些标准的流程

这个例子演示了如何得到基于一些标准的流程管理器创建的流程,它将试图得到所有的状态为:”open running”,创建时间为最近10分钟,活动的活动数超过3个的流程。他的String变量myvariable的值为test

/*

   WfProcessMgr mgr;

   */

 

   WfProcessIterator wpi=mgr.get_iterator_process ();

   query="state.equals(/"open.running/") && startTime.longValue()>(java.lang.System.currentTimeMillis()-10*60*1000) && activeActivitiesNo.longValue()>3 && context_myvariable.equals(/"test/")";

   wpi.set_query_expression(query);

   WfProcess[] procs=wpi.get_next_n_sequence(0);

 

例8:使用外部事物

每一个Shark API方法调用都使用独立的事物,引擎内部创建,使用,提交,最后释放事物。这意味着即使是非常简单的代码应用,shark也会不自觉地使用了很多事物。

有时,做一件事情有点不同是必要的,因此,SharkTransaction被介入。一个应用程序开发者可能会有很多理由来选择外部的事物,包括用同一个数据库存储应用程序数据的方法,以避免经常地创建/销毁事物……

当然,这种处理带来了一个代价,:你必须服从用法的规则。Transaction被调用Shark.getInstance().createTransaction();方法创建。在你释放他之前,你的应用程序必须调用Shark.getInstance.unlockProcesses(st);来通知shark做内部登记。如果有任何错误出现,你必须捕捉这个抛出,然后调用Shark.getInstance().emptyCaches(st);是的,在你正确地读他时,错误必须被捕捉到,另外你将允许引擎处在为定义状态下。

下面是一个修改一个单独事务中的变量的例子。

/*

      SharkConnection sConn;

      String activityId;

      String vName;

      String vValue;

       */

      SharkTransaction st = Shark.getInstance().createTransaction();

      try {

         WfAssignment a = null;

         WfAssignment[] ar = sConn

            .getResourceObject(st)

            .get_sequence_work_item(st, 0);

         for (int i = 0; i < ar.length; ++i) {

            if (activityId.equals(ar[i].activity(st).key(st))) {

               a = ar[i];

               break;

            }

         }

         if (null == a)

            throw new BaseException("Activity:"

                                       + activityId

                                       +" not found in "

                                       + sConn.getResourceObject(st).resource_key(st)

                                       +"'s worklist");

         if (!a.get_accepted_status(st))

            throw new BaseException("I don't own activity "+ activityId);

         Map _m = new HashMap();

         WfActivity activity = a.activity(st);

         Object c = activity.process_context(st).get(vName);

         if (c instanceof Long) {

            c = new Long(vValue);

         } else {

            c = vValue;

         }

         _m.put(vName, c);

         activity.set_result(st, _m);

         activity.complete(st);

         st.commit();

      } catch (Throwable t) {

         Shark.getInstance().emptyCaches(st);

         st.rollback();

         if (t instanceof RootException)

            throw (RootException)t;

         else

            throw new RootException(t);

      } finally {

         try { Shark.getInstance().unlockProcesses(st);} catch (Exception _){}

         st.release();

      }

 

XPDL流程定义

(你可以通过我们提供的XPDL编辑器JaWE非常容易地创建XPDL文件)

如何为一个活动写一个最后期限异常?

在shark中,最后期限异常和所有的流程变量一样,你可以使用这个特殊变量。这个变量的java类型为java.util.Date,下面是他们的描述:

lPROCESS_STARTED_TIME-流程开始时间

lACTIVITY_ACTIVATED_TIME-工作流流程中的活动或者分配创建的时间

lACTIVITY_ACCEPTED_TIME-活动中第一个分配被接受的时间

注意:

如果一个活动在接受之后被拒绝了,或者他从来就没被接受,ACTIVITY_ACCEPTED_TIME 将被设置成最大值。

下面是当最后期限异常被创建时的一些规则:

l最后期限异常一定能得到一个java.util.Date结果。

l如果shark被安装为不做最后期限评估,但是初始化最后期限限制时间评估,则ACTIVITY_ACCEPTED_TIME在异常中部能够被使用,因为他在将来将包含最大值。

l这里不因该有流程变量(XPDL中的DataField或者FormalParameter实体),他们有相同的ID。

下面是最后期限异常的一些例子:

// Deadline limit is set to 15 secunds after accepting activity

var d=new java.util.Date();

d.setTime(ACTIVITY_ACCEPTED_TIME.getTime()+15000);

d;

 

 

// Deadline limit is set to 5 minutes after activity is started (activated)

var d=new java.util.Date();

d.setTime(ACTIVITY_ACTIVATED_TIME.getTime()+300000);

d;

 

 

// Deadline limit is set to 1 hour after process is started

var d=new java.util.Date();

d.setTime(PROCESS_STARTED_TIME.getTime()+3600000);

d;

 

在shark admin应用中,如何写扩展属性使其能够更新和查看活动变量

为了在shark admin应用程序中更新活动变量(被XPDL定义),XPDL活动定义必须包含一些预定义的扩展属性。假如XPDL流程定义包含变量(XPDL DataField tag)叫作“x”,并且变量(XPDL FormalParameter 类型)叫作”input_var”。如果当活动执行时,你是一个admin用户,你能够查看这些变量,你应该定义如下的活动扩展属性:

<ExtendedAttribute Name="VariableToProcess_VIEW" Value="x"/>

<ExtendedAttribute Name="VariableToProcess_VIEW" Value="input_var"/>

如果你想让用户更新相同的变量,你应该定义如下的活动扩展属性:

<ExtendedAttribute Name="VariableToProcess_UPDATE" Value="x"/>

<ExtendedAttribute Name="VariableToProcess_UPDATE" Value="input_var"/>

 

在shark中如何写一个XPDL是用户使用自定义JAVA类 

为了实现这个功能,你应该定义变量作为XPDL的外部参考,并且设置它的属性位置和你想使用的类的全名,像这样:

...

<DataField Id="participants" IsArray="FALSE">

   <DataType>

      <ExternalReference location="org.enhydra.shark.wrd.Participants"/>

   </DataType>

</DataField>

...

...

<FormalParameter Id="participantGroup" Mode="INOUT">

   <DataType>

      <ExternalReference location="org.enhydra.shark.wrd.Participants"/>

   </DataType>

</FormalParameter>

...

可能一个好的方法是定义一个类型声明元素,如果那样的话,你能够在任何地方使用它(在创建应用程序或者子流程的FormalParameters时,你不需要时间去定义适当的数据类型)

...

<TypeDeclaration Id="participants_type">

   <ExternalReference location="org.enhydra.shark.wrd.Participants"/>

</TypeDeclaration>

...

然后定义DataField或者FormalParameter如下所示:

...

<DataField Id="participants" IsArray="FALSE">

   <DataType>

      <DeclaredType Id="participants_type"/>

   </DataType>

</DataField>

...

<FormalParameter Id="participantGroup" Mode="INOUT">

   <DataType>

      <DeclaredType Id="participants_type"/>

   </DataType>

</FormalParameter>

...

被外部引用元素指定的类必须在shark的classpath中。

 

在XPDL中如何定义一些变量的初始化值为空

你应该在DataField的InitialValue元素中简单地付值:

<DataField Id="participants" IsArray="FALSE">

   <DataType>

      <DeclaredType Id="participants_type"/>

   </DataType>

   <InitialValue>null</InitialValue>

</DataField>

这能够使你使用java接口或者抽象类来作为工作流变量。而这些变量的具体实现将被一些公具代理创建。

 

如何制定脚本语言

目前shark指定了三种脚本语言解释程序:javascript,BeanShell和Python(最后一种没有完全测试)。为了告诉shark使用的是哪种脚本语言解析条件表达式,你应该指定包的脚本元素:

# if you want to use java-like syntax (interpreted by BeanShell), specify:

 

<Script Type="text/java"/>

 

# if you want to use java script syntax, specify:

 

<Script Type="text/javascript"/>

 

# if you want to use python syntax, specify:

 

<Script Type="text/pythonscript"/>

如果你不指定脚本语言,或者指定的脚本语言没有提供则shark会失败。

 

如何使用XPDL直接映射应用程序定义到特殊的工具代理上(不需要应用程序实时映射)

如果你直接在XPDL中指定什么特殊的工具代理将要被工具活动执行,你应该为XPDL应用程序定义一些扩展属性。

在每个应用程序中定义的主扩展属性,他们往往被影射到工具代理中,在这里叫作“ToolAgentClass”,而这个值也应该为类的全称。

<ExtendedAttribute Name="ToolAgentClass" Value="org.enhydra.shark.toolagent.JavaScriptToolAgent"/>

这个属性被默认的shark工具代理读取,并且他创建指定的基于这个属性的工具代理。

其他的扩展属性被指定到工具代理的实现中。并且被他们读取,JavaScript和BeanShell工具代理是丁扩展属性名称为”Script”,他的内容为要被这个代理工具执行的脚本。既然这样,你完全可以使用XPDL编写程序:

<ExtendedAttribute Name="Script" Value="java.lang.System.out.println(&quot;I'm going to perform operation c=&quot;+a+&quot;*&quot;+b);&#10;c=a*b;&#10;java.lang.System.out.println(&quot;The result is c=&quot;+c);"/>

这个脚本执行两个变量a,b的乘法运算,并且将结果存储在变量c中。


Windchill 8.0工作流程管理 Windchill资料,提供给大家学习和使用。关于Windchill8.0 立即下载

相关推荐

Abaqus子程序开发避坑指南:从UMESHMOTION到齿轮磨损分析实战

本文深入探讨Abaqus子程序开发中的关键技术与避坑指南,重点解析UMESHMOTION在齿轮磨损分析中的实战应用。从开发环境搭建、调试框架构建到性能优化和大规模计算,提供系统化的解决方案。通过真实案例展示如何避免内存泄漏、网格畸变等常见问题,并介绍数据驱动的磨损预测等前沿技术,帮助工程师提升仿真精度与效率。

weixin_30892037的博客 89

Shark机器学习库(c++)开发环境搭建教程【超级详细】win10、包含boost安装、编译、环境配置等

测试环境:Win10boost1.73shark3.0cmake(随便)环境最好与我相同,如果不同会有一定问题,比如说boost1.83有的header已经弃用,但是shark3.0还在用。

AIcar_lrm的博客 1635

【仿真】Carla Python API实战:从零搭建自动驾驶测试环境

本文详细介绍了如何使用Carla Python API从零搭建自动驾驶测试环境。通过Carla仿真平台,开发者可以构建高度逼真的城市环境和车辆物理模型,利用Python API实现传感器配置、数据采集、场景构建及自动驾驶算法集成。文章还分享了实际项目中的调试技巧和性能优化经验,帮助读者快速掌握自动驾驶仿真测试的核心技术。

weixin_29050513的博客 214

【亲测免费】 探索SHARK:一款高效、灵活的机器学习库

是一个由NOD AI开发的开源机器学习库,专为处理大规模数据集和复杂问题设计。它提供了丰富的算法,支持监督学习、无监督学习及半监督学习任务,同时具有高度优化的性能和可扩展性。 ## 技术分析 **1. 性能优化** SHARK基于C++构建,并利用多线程和并行计算能力,确保在处理大数据时的速度与效率。其底层算法经过精心优化,可以有效地利用硬件资源,提高训练速度。 **2. 灵活性**

gitblog_00042的博客 737

C# 实现鼠标轨迹录制与回放自动化功能(附源码)

通过本文的介绍,相信大家已经掌握了鼠标轨迹录制与回放功能的实现方式。该功能在自动化测试和重复性工作中具有重要应用价值。后续可以进一步优化,增加更多扩展功能,形成一个完整的自动化工具。

weixin_72139050的博客 1756

SPI模式下的SD卡读写,为什么你的数据总出错?详解时序与状态机避坑指南

本文深入探讨SPI模式下SD卡读写数据出错的根本原因,提供时序优化与状态机设计的实战指南。针对时钟周期计数、状态机跳转和忙检测等核心问题,详解命令时序细节、状态机同步策略及高级避坑技巧,帮助开发者提升SD卡在SPI模式下的稳定性和性能。

weixin_30514745的博客 263

Shark丨强大的开源C++机器学习库

Shark Shark 是一个快速、模块化、功能丰富的开源 C++ 机器学习库,提供了各种机器学习相关技术,比如线性/非线性优化、基于内核学习算法、神经网络等。Shark 已经应用于多个现实项目中。  机器学习(Machine Learning)是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智...

MissXy_的博客 2936

科研效率革命:Zotero与Web of Science联动实现千篇文献一键获取

本文详细介绍了如何利用Zotero与Web of Science联动实现科研文献的高效管理,包括批量导入、智能下载和自动整理千篇文献的技巧。通过精准检索、RIS文件导出和Zotero插件设置,科研人员可以大幅提升文献获取和管理的效率,特别适合开题报告和综述写作等场景。

weixin_29219539的博客 255

Shark 机器学习库使用教程

Shark 是一个快速、模块化、通用的开源 C++ 机器学习库。它遵循 GNU 较小通用公共许可证(LGPL)或 GNU 通用公共许可证(GPL),用户可以根据需要选择。Shark 库提供了包括线性代数、统计、核心机器学习模型、目标函数和学习算法等模块,支持从简单的线性映射到神经网络、支持向量机等多种机器学习算法。 ## 2. 项目快速启动 在开始使用 Shark 库之前,确保您的系统中已安装

gitblog_00668的博客 527

【KingSCADA】如何建立硬件系统及相关变量

本篇主要讲解如何定义设备,如何定义变量。KingSCADA3.8的采集系统是指负责和现场设备进行通讯,并采集现场数据和控制现场数据的模块,称之为采集器,也叫IOServer应用,它是一组独立的应用程序,可以脱离KingSCADA3.8软件,它依赖于KingSCADA3.8驱动产品,通过驱动与IO设备进行通讯。采集系统由通讯链路,设备,数据块组成。链路:链路是指计算机通过什么方式(接口)与设备进行连接,链路类别:串口,以太网,GPRS,Modem,通信卡,采集卡,无链路。

做有价值的事,积累有价值的笔记! 1万+

RK3566/RK3568 Android 11添加系统服务

【代码】RK3566/RK3568 Android 11添加系统服务。

qq_23921815的博客 641

详解Redis 迁移工具redis-shark4

简介RedisShake 是一个用于处理和迁移 Redis 数据的工具,它提供以下特性:Redis 兼容性:RedisShake 兼容从 2.8 到 7.2 的 Redis 版本,并支持各种部署方式,包括单机,主从,哨兵和集群。云服务兼容性:RedisShake 与主流云服务提供商提供的流行 Redis-like 数据库无缝工作,包括但不限于:阿里云-云数据库 Redis 版阿里云-云原生内存数据...

qq_34692500的博客 3808

宇树 Qmini 双足机器人完全开源:3D打印+5小时组装,新手也能玩转!

教育教学,成为学校里的竞赛竞技,实验课程,论文设计的本体;开发者可以根据开源资料轻松集齐所有零部件,结构件可全部通过3D打印完成(几乎完全不需要任何机加工零部件),搭配宇树的高可靠性电机和标准电池,客户打印完零部件后,大概仅需要3~5小时的手工组装即可得到一只可爱的Qmini小双足机器人本体。一起推动机器人的未来发展,创新没有边界,创造力是无限的,Qmini就是你的第一步,如果你也想做一个能动、能学、还能萌的小双足机器人,现在就可以动手了,全开源、真低门槛、只差你的3D打印机和一点点耐心。

雕爷学编程 1890

Shark 项目使用教程

Shark 项目使用教程 1. 项目介绍 Shark 是一个用于高级钓鱼攻击的工具,由 Mr. Bee 维护。该项目旨在帮助用户进行钓鱼攻击,同时确保攻击难以被检测和识别。Shark 支持多种操作系统,包括 Debian(如 Kali、Ubuntu 等)、Android(Termux)和 Windows。 2. 项目快速启动 2.1 安装步骤 2.1.1 Debian 系统(如 Kali、Ubun...

gitblog_01168的博客 745

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Shark使用

Shark管理程序是一个Java图形化应用程序,它是管理员用来管理Shark引擎的工具。现在有两个管理程序,也对应着两种最常用的使用Shark的方法:第一种直接将Shark作为库来使用,也就是所谓的POJO Shark管理器,它是直接调用Shark的POJO接口来使用Shark。这实际上是一种两层结构:应用程序和数据库。

小白驻优快云大使馆 2357

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

shark使用笔记

1、先将shark用到的jar文件拷贝到工程的lib中(可能有些文件会冲突,比如我们的工程中有jgraph但是版本比较低,流程图就出不来)。2、将shark的conf文件放到webroot目录下的conf文件夹中,还有logs文件夹,repository文件夹。3、要查看流程图,需要配置生成流程图的servlet。4、要查看流程图,jgraph.jar一定要用shark自带的那个版本。(我就遇到了

gaoligaoli的专栏 1567

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

如何使用Shark

如何使用Shark     翻译人:林勇                 QQ:313340285Email:showsscel@gmail.com   MSN:showsscel@hotmail.comSkype:showsscel    Shark介绍及配置 -- Enhydra Shark  2007年3月16日版本:1.0

2681

shark使用指南

https://github.com/gaoxianglong/shark/wiki/%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97

gao_xianglong的自言自语 1014

shark使用oracle9i的安装

今天玩了玩shark,下面是我的安装步骤,我是用oracle作为数据库1,从http://shark.objectweb.org 下载shark1.0 zip文件2,解压缩到硬盘shark-1.0目录3.shark1.0默认的数据库是HSQL,我把他修改为oracle9i  1)创建shark数据库,用户shark,密码shark.2)复制Oracle_Home/jdbc/lib/

gadagada的专栏 1229

【亲测免费】 Shark 项目使用教程

Shark 项目是一个用于实时关闭 Windows 7(7600)及以上版本中的 PatchGuard 的工具。PatchGuard 是 Windows 内核中的一项安全功能,旨在防止内核模式的代码被修改。Shark 项目通过特定的技术手段绕过 PatchGuard,使得开发者可以在这些操作系统上进行内核级别的调试和开发。 ## 2. 项目快速启动 ### 2.1 环境准备 在开始之前,请确

gitblog_00015的博客 666

使用 Shark 来对你的 iPhone 应用进行性能调优(Using Shark to Performance Tune Your iPhone App)

使用 Shark 来对你的 iPhone 应用进行性能调优(Using Shark to Performance Tune Your iPhone App)

太阳火神的美丽人生 2006

【亲测免费】 Shark 项目安装与使用教程

Shark 项目安装与使用教程 1. 项目目录结构及介绍 Shark 项目的目录结构如下: shark/ ├── gitattributes ├── LICENSE ├── README.md ├── cloudshell │ └── manpage ├── setup └── shark 目录结构介绍 gitattributes: Git 属性文件,用于定义 Git 在处理特定文件时的行...

gitblog_00385的博客 649

Android LeakCanary 使用 shark-cli 解析 hprof 文件,排查内存泄漏问题

本文介绍了在Android中如何通过LeakCanary生成的hprof文件来排查内存泄漏问题

朱豪凯的博客 1379

shark on yarn udf的使用

shark udf好称跟hive完全兼容,今天尝试了一下,还真的

lzshlzsh的专栏 1164
上一篇: Shark工作流学习日记
下一篇: 什么是Portal
dankes
博客等级 码龄22年 41粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值