相关工具 ############ .. _java-jconsole: 在线Jconsole ============= 为了让开发者更好的了解自身应用运行状况,SAE Java平台为每个应用提供了一个类似Jconsole的功能。 使开发者能够在线监控应用「内存/CPU/线程」的使用情况。形如:http://jconsole.sinaapp.com/appinfo.jsp **如何使用** 在应用的代码管理页面新建一个版本,不需要上传代码,该版本即为在线Jconsole应用。 在线Jconsole包括Application、Monitor、Memory、Threads几个模块。 其中Application用于查看应用运行环境,Monitor用于监控应用整体情况,Memory用于监控应用内存使用情况,Threads用于查看应用线程使用情况。 .. note:: 监控图表只记录最近十分钟的数据,刷新页面后将重新记录 多节点应用请注意页面中的节点名称,当前页面监控的是该节点的运行情况 单节点应用监控图表数据每秒钟请求一次最新数据,多节点应用由于前端代理会将请求分发到不同节点,会出现几秒钟更新一次情况 本地开发环境 ================== Java平台应用未提供在线编辑代码功能,应用需要在开发者本地环境打包后上传至SAE。 因为SAE中的云服务在本地环境是无法访问的,所以在开发应用时需要搭建一套本地模拟环境来模拟SAE中的各种云服务。 当然如果你的应用只依赖普通J2EE环境,而未使用SAE的云服务,那么你甚至不用在本地环境做任何特殊的定制。 **依赖包** 各服务的调用接口都封装在sae-local-xxx.jar中,所以首先需要将此jar包引入到项目中。再根据使用服务的需要来确定引入那些jar包. 服务和jar包对应关系如下: :: sae-local-xxx.jar(全局) log4j.jar (全局) derby.jar (kvdb服务) mail.jar (mail服务) activation.jar (mail服务) commons-codec-1.4.jar (Storage,TaskQueue,FetchURL服务) commons-logging-1.1.1.jar (Storage,TaskQueue,FetchURL服务) httpclient-4.1.2.jar (Storage,TaskQueue,FetchURL服务) httpclient-cache-4.1.2.jar (Storage,TaskQueue,FetchURL服务) httpcore-4.1.2.jar (Storage,TaskQueue,FetchURL服务) httpmime-4.1.2.jar (Storage,TaskQueue,FetchURL服务) commons-beanutils-1.8.3.jar (Storage,TaskQueue,FetchURL服务) commons-beanutils-bean-collections-1.8.3.jar (Storage,TaskQueue,FetchURL服务) commons-beanutils-core-1.8.3.jar (Storage,TaskQueue,FetchURL服务) commons-collections-3.2.1.jar (Storage,TaskQueue,FetchURL服务) commons-lang-2.6.jar (Storage,TaskQueue,FetchURL服务) ezmorph-1.0.6.jar (Storage,TaskQueue,FetchURL服务) json-lib-2.4-jdk15.jar (Storage,TaskQueue,FetchURL服务) commons-io-1.3.2.jar (Storage,TaskQueue,FetchURL服务) mysql-connector-java-5.0.8-bin.jar(MySQL服务驱动包) :ref:`点击这里去资源下载页面下载所有jar包 ` **搭建本地云服务环境** =========== ================================================================================================================= 云服务名称 模拟方法 =========== ================================================================================================================= Memcache 本地搭建一个Memcache服务端,详见(http://memcached.org/) MySQL 本地搭建一个MySQL数据库服务,详见(http://www.mysql.com/) KVDB 使用JavaDB模拟(需要derby.jar),详见(http://www.oracle.com/technetwork/java/javadb/overview/index.html Mail 使用javamail实现(activation.jar,mail.jar),详见(http://www.oracle.com/technetwork/java/javamail/index.html) FetchURL 使用HttpClient模拟,引入HttpClient相关jar包即可 Storage 使用Java IO模拟 TaskQueue 使用Java Task和HttpClient模拟,引入HttpClient相关jar包即可 =========== ================================================================================================================= 搭建完成后可参照服务相关文档 http://sae4java.sinaapp.com/doc/index.html 调用本地的模拟服务。 .. note:: + 本地模拟环境搭建的云服务和线上真实云服务只是拥有相同的调用接口,两者在实现和性能方面完全不同,甚至连调用客户端(sae-local-xxx.jar)都不一样 + 本地环境MySQL服务和线上环境在连接持有时间上略有不同,线上MySQL服务连接在持有10秒未使用会被丢弃,所以请注意数据库连接池的相关配置 + 如果线上应用是多节点部署而且需要使用Session,请注意开启分布式Session .. _java-eclipse-plugin: Eclipse插件 ======================== Eclipse插件提供在Eclipse IDE环境下提交,更新,删除单个或者多个文件至SAE线上应用的功能,并且变更操作及时生效。 :ref:`点击这里去下载页面下载最新的Eclipse插件包 ` 安装插件: 1. 下载插件至某目录下,打开jee-eclipse; 2. 在jee-eclipse中打开菜单 Help->Install New SoftWare, 打开Install视图 -> Add -> Local选择eclipse插件文件路径->OK 接下来一直Next直到安装完毕; 3. 重启Eclipse,查看选中文件的右键菜单中是否有Sina App Engin选项,如果有就说明安装成功。 点击这里查看插件安装和使用的相关视频 `视频 `_ 。 使用插件: 安装完Eclipse插件后,我们就可以在Eclipse环境下提交或者删除一个或多个文件至SAE Java应用中。 .. image:: /images/eclipse-plugin.jpg .. note:: - 应用名、应用版本、安全邮箱、安全密码为必填项 - 选择Eclipse中的Java文件,插件会自动寻找相应的class文件来提交 - 列表中的War Path指的是文件在war包中的路径 - 通过Configuration区域可删除上传文件和编辑上传文件在war包中的路径或操作 .. include:: ../services/libraries.rst