`
lgh06
  • 浏览: 55303 次
文章分类
社区版块
存档分类
最新评论

百度BAE3.0 Java环境(JSP环境) 帮助文档 备份

 
阅读更多
原文http://developer.baidu.com/wiki/index.php?title=docs/cplat/bae/java

Java

概述

Java执行环境使用OpenJDK 7 JVM来运行Java应用,支持Java Servlet和标准MySQL JDBC接口,为保证应用兼容性建议使用和Java 7兼容的库。Servlet容器支持两种Jetty(java-jetty)和Tomcat(java-tomcat),Jetty版本为9.0.6.v20130930,可参考jetty官网;Tomcat版本为7.0.47,可参考Apache官网。(之前的java-web的Servlet容器是Jetty)

BAE3.0的Java执行采用原生的Jetty或Tomcat与用户本地的开发环境基本一致,能够支持多war包或目录。用户的应用在本地能够运行,在线上就能够良好地运行。需要注意的是线上的MySQL不支持长连接。

BAE3.0的Java执行环境不再内置任何JAR包,所有依赖的第三方JAR包都用户需要自己上传。用户可以通过SVN或GIT上传WAR包或者目录。

java SDK

java的服务我们已经打包成了一个完整的jar包,地址为java-sdk

开发指南

BAE3.0中JavaRuntime支持多应用,用户可以上传多个WAR包或目录,java-jetty的主域名使用root.war,java-tomcat的主域名使用ROOT.war,其他WAR包或目录的访问需要在主域名后加上代码目录的路径,如code.war或code目录的访问:xxx.duapp.com/code/

本地开发:

1. 使用eclipse开发
下载eclipse:http://www.eclipse.org/downloads/
打开eclipse,新建Dynamic Web Project
开发完成后,打成WAR包,File->Export->WAR file, 保存为root.war(java-jetty)或ROOT.war(java-tomcat),通过SVN或GIT上传到BAE
或者将root.war或ROOT.war解压到root或ROOT目录下,然后删除原svn中的root.war或ROOT.war,再将root或ROOT目录通过SVN或者GIT上传到BAE
2. 使用Maven开发
下载maven:http://maven.apache.org/download.cgi
创建WEB部署:
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp
开发完成后打成war包:mvn install
将target中的war包更名为root.war上传到BAE
3. 应用移植
参考博客《Dlog4j的移植》
4. 运行时参数
JVM的运行时参数:-Xms为执行单元内存的1/4, -Xmx为执行单元内存的3/4,-XX:PermSize为执行单元内存的1/8, -XX:MaxPermSize为执行单元内存1/2 。可以通过配置文件自定义JVM的参数,详见自定义配置
Jetty只加载了最基本的jetty-http和jetty-deploy模块。

日志调试

当用户的应用开始运行时,可以通过我们的应用日志来对应用的状态进行查看 以及相关代码的调试。

  • 1.默认日志

默认情况下,web类型的应用我们会提供四类日志“lighttpd.log”、“lighttpdwf.log”、“jetty_stderrout.log”。

    • 1.lighttpd.log 实时的显示lighttpd web服务器的请求日志;
    • 2.lighttpdwf.log 实时的显示lighttpd web服务器的错误日志;
    • 3.jetty_stderrout.log 实时显示java-jetty用户打印的标准输出日志
    • 4.catalina.log.yyyy-mm-dd 实时显示java-tomcat用户打印的标准输出日志
    • 5.supervisord.log 实时显示监控java和lighttpd进程的supervisor的日志,如果出现503,请先检查此log,查看是否存在“jetty(tomcat) entered FATAL state, too many start retries too quickly”字样,如果存在请加大内存套餐,可能是因为套餐内存太小导致应用加载时出现OutOfMemoryError异常
  • 2.自定义日志

如果用户觉得日志种类不够,也可以自己来定制日志的种类和内容,只需要用户自定义的内容输出到 “/home/bae/log” 下即可,如 “/home/bae/log/user.log”,那么就可以在日志界面中看到。

  • 3.示例
    • 可以使用java.util.logging.Logger或者log4j打印本地日志
    • 示例代码logtest.zip,解压后import到eclipse中,然后export出logtest.war,或者直接下载war包logtest.war上传到bae,访问xxx.duapp.com/logtest/,点击其中的log4j或者javalog,然后查看日志文件

注意:原则上不推荐使用中文日志,如果因为特殊关系必须打印中文日志的话,请务必使用UTF-8编码

扩展服务

  1. 目前支持的扩展服务包括:
    • MySQL(数据库) 提供分布式的关系型数据库服务。详情见
    • Redis(数据库) 提供key-value型非关系型数据库服务。详情见
    • MongoDB(数据库) 提供分布式的非关系型数据库服务。详情见
    • Cache(缓存) 提供高性能的分布式的内存对象缓存服务。详情见
    • Image(图片处理) 提供图片抓取和按照用户定义的操作对图片进行处理的服务。详情见
    • NFS(网络文件系统)提供分布式读写功能。详情见
    • Log(日志) 提供日志记录服务。详情见

框架支持

由于BAE3.0采用的是原生Jetty,部署时使用的是标准WAR包,因此从理论上来讲支持所有Java框架。
比如:SSH框架Demo,mybatis框架Demo

自定义配置

  • 1.配置JVM参数
    • 1.1 在代码根目录下与root.war(或ROOT.war)同级的目录新建.bae目录。
注:如果是windows用户,直接创建可能会有问题,需要在开始–>“搜索程序和文件”框中输入cmd.exe–>打开cmd.exe,cd到代码目录,键入mkdir .bae 命令
    • 1.2 在.bae目录下新建jvm.ini文件
jvm.ini文件中的每一行为一个jvm参数
如:jvm.ini
-Xms64m
-Xmx256m
-XX:PermSize=32m
-XX:MaxPermSize=128m
    • 1.3 通过svn或git上传代码,发布代码即可
  • 2.配置Jetty
    • 2.1 在代码根目录下创建.bae目录
    • 2.2 在.bae目录下创建jettyconf目录
在jettyconf目录下创建start.ini文件和etc目录,etc目录下存放jetty.xml、jetty-deploy.xml等配置文件
    • 2.3 通过svn或git上传代码,发布代码即可
    • 2.4 下载demo
jettyconfdemo.zip
  • 3.配置Tomcat
    • 3.1 在代码根目录下创建.bae目录
    • 3.2 在.bae目录下创建tomcatconf目录
在tomcatconf目录存放server.xml、context.xml等配置文件
    • 3.3 通过svn或git上传代码,发布代码即可
    • 3.4 下载demo
tomcatconfdemo.zip

注意事项

    • BAE3.0中Java Runtime已经不再有任何白名单和沙盒限制,只要WAR包符合标准war包规范就能在BAE3.0中运行良好。

java-jetty的主域名是root.war,java-tomcat的主域名是ROOT.war

    • Java应用中所有的请求都会从lighttpd直接转给Jetty或者Tomcat,所以app.conf文件中的转发规则不起作用(app.conf中的转发规则是针对lighttpd的),需要修改web.xml进行解决。比如:首页想访问index.html可以将web.xml中的<welcome-file>index.jsp</welcome-file>改成 <welcome-file>index.html</welcome-file>
我要啦免费统计
分享到:
评论

相关推荐

    Discuz x3.1 BAE3.0版 v3.0

    本程序修改版由优站出品,将Discuz x3.1针对Bae3.0进行了相关优化!可以正常运行在Bae上面!根目录下syncreserve.txt文件请误删除,切记!Bae3.0开放了很多权限,一些常见的开源程序,基本上都不用怎么修改,直接...

    BAE-introduce.zip_百度bae

    百度BAE介绍、百度BAE介绍、百度BAE介绍、百度BAE介绍

    百度BAE说明文档

    BAE概念&&原理 基本使用三步曲 高效在线调试 其他功能及服务 常见问题&&改进 BAE是什么 BAE是百度推出的网络应用

    Z-BlogPHP v1.3 for BAE版.zip

    BAE云主机版可以安装在百度BAE 3.0上,是ZBLOG团队专为BAE量身打造的ZBLOGPHP系统。 Z-BlogPHP是Z-Blog团队根据国内独立博客用户需求而全新开发的一款博客系统,作为领先的博客系统提供者,我们希望提供完善的博客...

    discuz x3.0 BAE安装版

    discuz 手机版,已经在bae上优化,验证没错

    Z-BlogPHP博客系统 v1.3 for BAE版

    Z-BlogPHP博客系统 v1.3 for BAE云主机版BAE云主机版可以安装在百度BAE 3.0上,是ZBLOG团队专为BAE量身打造的Z-BlogPHP博客系统。 Z-BlogPHP博客系统是Z-Blog团队根据国内独立博客用户需求而全新开发的一款博客系统...

    Z-BlogPHP for BAE版 v1.3.rar

    BAE云**版可以安装在百度BAE 3.0上,是ZBLOG团队专为BAE量身打造的ZBLOGPHP系统。 Z-BlogPHP是Z-Blog团队根据国内独立博客用户需求而全新开发的一款博客系统,作为领先的博客系统提供者,我们希望提供完善的博客...

    bae_django_polls_v1.0

    在bae3.0上布署的django polls程序

    百度BAE环境下的ssh应用

    可以运行在百度云服务器上 1、本示例是一个简单的ssh应用,对单表进行新增和查询操作; 2、使用ssh版本为struts2-core-2.3.1.2,spring-aop-3.0.5.RELEASE,hibernate-3.6.5.Final; 3、struts2的配置采用xml(目前不...

    BAE S2SH JAVA 案例

    BAE S2SH JAVA 案例

    PHP实例开发源码-HiBCS 百度BAE版.zip

    PHP实例开发源码—HiBCS 百度BAE版.zip PHP实例开发源码—HiBCS 百度BAE版.zip PHP实例开发源码—HiBCS 百度BAE版.zip

    HiBCS 百度BAE版 v1.0 build20121221

    特别提示:本代码至少需百度应用引擎(BAE)中的百度云存储(BCS)支持 安装: config.php 填写BAE数据库名称 通过平台提供的phpMyAdmin访问 导入baefile.sql或使用install.php 不支持URL Rewrite请自行将no-...

    微信公众平台接入Java实例

    在百度BAE,JAVA环境下搭建属于自己的微信公众平台接口

    基于PHP的wordpress 百度BAE版.zip

    基于PHP的wordpress 百度BAE版.zip

    基于PHP的HiBCS 百度BAE版.zip

    基于PHP的HiBCS 百度BAE版.zip

    基于PHP的wordpress百度BAE版源码.zip

    基于PHP的wordpress百度BAE版源码.zip

    基于PHP的HiBCS百度BAE版源码.zip

    基于PHP的HiBCS百度BAE版源码.zip

    HiBCS 百度BAE版 v1.0 beta build20121212

    特别提示:本代码至少需百度应用引擎(BAE)中的百度云存储(BCS)支持 Licensed under the Apache License v2.0 http://www.apache.org/licenses/LICENSE-2.0 config.php 填写BAE数据库名称 通过平台提供的...

    wordpress 百度BAE版 v3.4.2

    百度BAE免费云与新浪SAE相似。不支持某些PHP函数 Wordpress for BAE修改和实现的功能有:1、替换了 wp_mail 函数,采用百度云消息来实现邮件的发送2、解决 WordPress 在 BAE 运行时的乱码问题3、自带一个BCS百度云...

    基于BAE的微信java开发的token验证war包

    基于BAE的微信java开发的token验证war包,token是bangbang。做了好几天终于出来了。

Global site tag (gtag.js) - Google Analytics