• 关于

    core使用redis

    的搜索结果

问题

使用springboot 托管session到redis时,报错

2019-12-01 18:55:22 500 浏览量 回答数 1

问题

jfinal redis存取model cannot be cast异常问题。

落地花开啦 2019-12-01 20:00:22 1341 浏览量 回答数 1

回答

J2Cache 是 OSChina 目前正在使用的两级缓存框架。第一级缓存使用 Ehcache,第二级缓存使用 Redis 。由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的 Ehcache 缓存数据丢失。J2Cache 使用 JGroups 进行组播通讯。J2Cache 介绍 PPT:http://www.oschina.net/doc/652Maven: <dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-core</artifactId> <version>1.3.0</version> </dependency> 示例代码: CacheChannel cache = J2Cache.getChannel(); cache.set("cache1","key1","OSChina.net"); cache.get("cache1","key1"); 测试方法: 1.安装 Redis2.修改 core/Java/j2cache.properties 配置使用已安装的 Redis 服务器3.执行 build.sh 进行项目编译4.运行多个 runtest.sh5.直接在 runtest 输入多个命令进行测试

爵霸 2019-12-02 01:55:11 0 浏览量 回答数 0

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

问题

redis sentinel如何跑守护进程以及日志记录位置的?

爵霸 2019-12-01 20:10:36 1675 浏览量 回答数 2

问题

spring3.2.8集成redis报错?报错

爱吃鱼的程序员 2020-06-10 15:04:12 0 浏览量 回答数 1

问题

Jedis2.7.2和spring-data-redis配置问题-redis报错

montos 2020-06-04 10:25:28 3 浏览量 回答数 1

问题

使用jedis时,当关闭连接时报异常:报错

kun坤 2020-06-14 14:20:21 0 浏览量 回答数 0

问题

Jedis2.7.2和spring-data-redis配置问题:操作报错

kun坤 2020-06-04 13:19:54 2 浏览量 回答数 1

问题

springmvc-4.1.7+sping-data-reids-1.6.2集成缓存无效 :报错

kun坤 2020-06-14 12:06:09 0 浏览量 回答数 1

问题

springmvc-4.1.7+sping-data-reids-1.6.2缓存无效-java报错

montos 2020-05-31 22:09:18 1 浏览量 回答数 1

问题

springmvc-4.1.7+sping-data-reids-1.6.2缓存无效-java报错

montos 2020-06-03 15:47:37 3 浏览量 回答数 1

回答

使用 redis 存放对象时,不需要转成 json,直接存取可,RedisKit.use().set(key, value),这里的 key 与 value 可以是任意的 java 对象。如果一定要将 string 的 json 转成对象,可以参考一下com.jfinal.core.Controller.getModle(...) 方法

落地花开啦 2019-12-02 01:52:35 0 浏览量 回答数 0

回答

可以使用 TLS 与端口 587$> docker run -d --name cb-sentry \ -e SENTRY_SECRET_KEY='s7*-1&t*e_o-wyw+y4g6v!95qb9b_77tdc5&ppfvr!+xz^xgu%' \ -e SENTRY_EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend'\ -e SENTRY_EMAIL_HOST='smtp.exmail.com' \ -e SENTRY_EMAIL_PORT=587 \ -e SENTRY_EMAIL_USER='noreply@xxx.com' \ -e SENTRY_EMAIL_PASSWORD='xxxx' \ -e SENTRY_EMAIL_USE_TLS=True \ -e SENTRY_SERVER_EMAIL='noreply@xxx.com' \ -e SENTRY_TIME_ZONE='Asia/Shanghai' \ --link sentry-redis:redis \ --link sentry-postgres:postgres \ sentry参考:https://github.com/getsentry/sentry/issues/4252#issuecomment-437296091

khachapuri 2019-12-02 01:13:09 0 浏览量 回答数 0

回答

下表介绍了Web+自2019年6月14日公测上线以来的迭代版本的重要功能说明以及相关文档链接。 2020-02-06 功能名称 功能描述 功能类型 相关文档 一键部署WordPress应用 可以在控制台上一键部署WordPress应用程序,默认使用单机部署的MySQL数据库,降低启动成本。 新增 一键启动WordPress 支持编排Redis资源 可以在控制台界面上直接添加和配置Redis资源。 新增 云数据库Redis 开放Nginx配置文件的编辑功能 在控制台概览页右侧可以查看各开发语言的快速入门交互式教程。 新增 反向代理服务器 免费的OSS存储空间 在创建应用的时候可以选择使用由系统提供的免费OSS存储空间。 优化 / 2019-12-05 功能名称 功能描述 功能类型 相关文档 支持域名托管 支持托管阿里云云解析和任何第三方域名服务提供商处注册的域名。 新增 域名托管 支持分批部署 当部署环境有多台实例的时候,支持按照指定规则进行分批部署,以保证业务不中断。 新增 部署环境 各开发语言的交互式教程 在控制台概览页右侧可以查看各开发语言的快速入门交互式教程。 新增 / 开通向导优化 支持一键开通及授权相关产品。 优化 开通Web+相关服务并授权 部署环境配置界面优化 以架构图的方式展现环境配置信息,并可以进行编辑操作。 优化 / 支持禁用健康检查 部署环境默认禁用健康检查,您可以在环境配置界面选择手动开启。 优化 配置健康检查 2019-09-29 功能名称 功能描述 功能类型 相关文档 代购ECS实例 支持使用控制台和CLI代购包年包月的ECS实例。 新增 ECS实例 代购SLB实例 支持使用CLI代购包年包月SLB实例。 新增 使用CLI配置SLB 代购RDS实例 支持使用CLI代购包年包月RDS实例。 新增 使用CLI配置RDS 支持HTTPS访问 可以在SLB和反向代理层配置证书实现HTTPS访问。 新增 为部署环境配置HTTPS 2019-09-25 功能名称 功能描述 功能类型 相关文档 正式商用 正式商用后Web+仍然免费,您只需要对用到的底层资源付费。 新增 / 2019-09-04 功能名称 功能描述 功能类型 相关文档 支持导入已购买的ECS实例 您在ECS控制台购买的ECS实例,可在Web+导入使用。 新增 导入ECS实例 支持.NET Core应用 支持在Web+控制台托管.NET Core应用。 新增 设置ASP.NET Core开发环境 部署ASP.NET Core应用至Web+ 支持Ruby应用 支持在Web+控制台托管Ruby应用。 新增 配置Ruby开发环境 部署Ruby on Rails应用至Web+ 显示部署环境资源 在部署环境概览页,可以展示部署环境内包含的资源。 新增 部署环境信息说明 2019-08-12 功能名称 功能描述 功能类型 相关文档 支持Python应用 支持在Web+控制台托管Python应用。 新增 设置Python开发环境 使用Flask开发应用 使用Django开发应用 反向代理优化 支持关闭反向代理服务器。 新增 反向代理服务器 2019-08-06 功能名称 功能描述 功能类型 相关文档 支持Go应用 支持在Web+控制台托管Go应用。 新增 设置Go开发环境 将Beego应用部署到Web+ 向Go应用的部署环境中添加RDS实例 支持PHP应用 支持在Web+控制台托管PHP应用。 新增 设置PHP开发环境 使用Symfony开发应用 使用Laravel框架开发应用 支持导入SLB实例 您在SLB控制台购买的SLB实例,可导入Web+使用。 新增 导入负载均衡SLB 应用生命周期挂钩脚本 Web+提供了通过设置命令来管理用户的服务进程,以及通过设置生命周期挂钩来简化部署、监控、运维和治理等应用生命周期管理操作。 新增 命令与生命周期挂钩 增加技术栈版本 在部分技术栈内,有多个技术栈版本可选择。 新增 技术栈 2019-07-25 功能名称 功能描述 功能类型 相关文档 功能优化 产品功能性能优化,使Web+的使用体验更良好。 优化 / 2019-07-15 功能名称 功能描述 功能类型 相关文档 支持Node.js应用 支持在Web+托管Node.js语言的应用。 新增 设置Node.js开发环境 将Express应用部署到Web+ 向Node.js应用部署环境中添加RDS数据库实例 支持RDS 支持在控制台和CLI内为部署环境配置RDS。 新增 云数据库RDS 变更操作清单 在部署环境中变更配置时,会罗列出变更资源的清单。 新增 / 2019-06-14 功能名称 功能描述 功能类型 相关文档 产品正式公测 Web+正式在阿里云公测上线,免费开放给用户托管应用。 新增 什么是Web应用托管服务Web+? 支持Java技术栈应用 支持在控制台和CLI内将Java技术栈的应用托管至Web+。 新增 设置Java开发环境 使用Spring Boot开发应用 向Java应用的部署环境中添加RDS实例 支持Tomcat技术栈应用 支持在控制台和CLI内将Tomcat技术栈的应用托管至Web+。 新增 项目文件夹结构设置 使用Web+部署Tomcat应用 日志和诊断 支持下载日志和诊断信息排查问题。 新增 查看日志 支持控制台部署 可以在控制台快速创建应用并部署。 新增 在Web+控制台快速部署应用 支持CLI部署 可以使用CLI快速创建应用并部署。 新增 使用CLI快速部署Java应用

1934890530796658 2020-03-23 15:41:58 0 浏览量 回答数 0

回答

本文介绍如何使用弹性伸缩、消息服务和函数计算,将弹性扩张时创建的ECS实例自动添加到Redis实例的白名单。 前提条件 使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。 已经开通云数据库Redis、消息服务、弹性伸缩和函数计算。 背景信息 使用弹性伸缩时,伸缩组可以关联负载均衡实例和云数据库RDS实例,但是暂时不能关联云数据库Redis实例。如果您将业务数据存储在Redis实例上,会需要配置伸缩组内的ECS实例加入Redis实例的访问白名单。等待ECS实例创建完成后再逐个手动添加至Redis实例白名单不仅费时费力,也容易出现失误,在维护大量实例时成本较高。 针对这种情况,您可以在伸缩组中创建生命周期挂钩,生命周期挂钩在弹性扩张时会自动向指定的MNS主题发送消息,然后通过函数计算中的MNS主题触发器,触发执行上传的代码,自动将ECS实例添加到Redis实例的白名单。 说明 请在相同地域创建消息服务主题和函数计算服务,相同区域内的产品内网可以互通。 自动化管理实践-添加ECS实例到Redis白名单流程 本文以Java语言的形式给出示例代码,您可以根据业务需求,将此类最佳实践扩展到其它语言。 操作步骤 执行以下操作自动将伸缩组ECS实例添加到Redis实例白名单: 步骤一:创建Redis实例 步骤二:创建MNS主题和MNS队列 步骤三:创建伸缩组和生命周期挂钩 步骤四:创建服务和函数 步骤一:创建Redis实例 登录云数据库Redis控制台。 创建一台Redis实例。 具体操作请参见创建Redis实例,用于为自动创建的ECS实例提供数据库服务。 查看Redis实例的白名单,确定执行代码前的白名单状态。 自动化管理实践-查看Redis实例白名单 步骤二:创建MNS主题和MNS队列 登录消息服务控制台。 创建一个MNS主题。 用作执行函数的触发器,本示例主题的名称为fc-trigger。自动化管理实践-创建MNS主题消息 创建一个MNS队列。 用作函数执行结果的接收器,本示例队列的名称为fc-callback。示例代码中通过QUEUE_NAME指定该队列,发送包含函数执行结果的消息。自动化管理实践-创建MNS队列消息 步骤三:创建伸缩组和生命周期挂钩 登录弹性伸缩控制台。 创建一个伸缩组。 具体操作请参见创建伸缩组或者使用实例启动模板创建伸缩组。 创建一个生命周期挂钩。 具体操作请参见创建生命周期挂钩。 适用的伸缩活动类型配置为弹性扩张活动,用于通知弹性扩张事件。 通知方式配置为MNS主题,与MNS队列相比,主题可以通知多个订阅者,执行多种操作。 MNS主题配置为fc-trigger,用于在自动创建的ECS实例进入加入挂起中状态时执行代码,将ECS实例添加到云数据库Redis的白名单。 根据需要配置其它选项。 步骤四:创建服务和函数 登录函数计算控制台。 新建一个服务。 具体操作请参见创建服务,用于承载需要执行的函数,本示例服务的名称为as-hook-mns-fc-redis。自动化管理实践-创建函数计算服务 在服务下新建函数,订阅MNS主题并上传代码。 具体操作请参见新建函数。 在函数模板页面中,选择空白函数。 在触发器配置页面中,选择MNS 主题触发器,然后根据需要配置其它选项。 自动化管理实践-配置函数触发器 在基础管理配置页面中,所在服务配置为as-hook-mns-fc-redis,函数入口配置为fc.Example::handleRequest,然后根据需要配置其它选项。 函数入口由代码决定,请根据实际情况配置。 本文示例采用上传jar包,实现将自动创建的ECS实例添加到云数据库Redis的白名单。有关编程语言说明,请参见函数计算Java编程说明。 自动化管理实践-配置函数基础信息自动化管理实践-配置函数基础信息-函数入口 在权限配置页面中,根据需要授予函数访问其它资源的权限,并授予消息服务调用函数的权限。 说明 建议遵循权限最小化原则,仅授予必需的权限,防范潜在风险。 自动化管理实践-配置权限-函数计算操作其它资源自动化管理实践-配置权限-调用函数 在信息核对页面中,核对函数信息和触发器信息,然后单击创建。 执行效果 配置完成后,执行效果如下: 在满足弹性扩张的条件时,伸缩组触发伸缩活动,自动创建ECS实例。 生命周期挂钩挂起伸缩活动,同时发送消息到MNS主题。 函数计算中,MNS主题触发器触发函数执行过程,并将消息内容作为输入信息(包括ECS实例的ID等信息),执行Java代码。 代码执行时,会通过接口获取ECS实例的私网IP,然后将私网IP添加到Redis实例的白名单(default 分组)。 代码执行结果会发送到MNS队列fc-callback,您可以在消息服务控制台查看结果详情。查看消息内容中success为true,即表明ECS实例成功添加到了Redis实例的白名单。自动化管理实践-查看执行效果 您还可以继续消费MNS队列中的消息,比如获取success、LifecycleHookId和LifecycleActionToken,编程提前结束生命周期挂钩。 上述最佳实践供您参考,您也在其它场景下通过多款产品实现自动化管理,从而更加灵活地管理伸缩组内的资源。 示例代码 示例代码仅供参考,请结合具体业务进行测试改造。主要功能涉及四个java文件,通过Maven管理,目录结构如下: 自动化管理实践-Jar包结构 Maven依赖如下: 4.0.0 com.aliyun.fc.wujin demo 1.0-SNAPSHOT com.aliyun aliyun-java-sdk-ecs 4.10.1 com.aliyun.fc.runtime fc-java-core 1.0.0 com.aliyun aliyun-java-sdk-core 3.2.6 com.aliyun aliyun-java-sdk-r-kvstore 2.0.3 com.alibaba fastjson 1.2.25 org.springframework spring-context 4.2.5.RELEASE org.apache.httpcomponents httpclient 4.5.2 org.apache.commons com.springsource.org.apache.commons.lang 2.6.0 com.aliyun.mns aliyun-sdk-mns 1.1.8.4 maven-assembly-plugin 3.1.0 jar-with-dependencies false make-assembly package single org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 Example.java代码如下: package fc; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.aliyun.fc.runtime.Context; import com.aliyun.fc.runtime.StreamRequestHandler; import com.aliyun.mns.client.CloudAccount; import com.aliyun.mns.client.CloudQueue; import com.aliyun.mns.client.MNSClient; import com.aliyun.mns.model.Message; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.ecs.model.v20140526.DescribeInstancesRequest; import com.aliyuncs.ecs.model.v20140526.DescribeInstancesResponse; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import com.aliyuncs.r_kvstore.model.v20150101.DescribeSecurityIpsRequest; import com.aliyuncs.r_kvstore.model.v20150101.DescribeSecurityIpsResponse; import com.aliyuncs.r_kvstore.model.v20150101.ModifySecurityIpsRequest; import model.FCResult; import model.HookModel; import model.MnsMessageModel; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.StringUtils; import org.springframework.util.CollectionUtils; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Example implements StreamRequestHandler { /** * 专有网络类型,此参数不用变 */ private static final String VPC_NETWORK = "vpc"; private static final String CHAR_SET = "UTF-8"; /** * 接收input数组大小,4096通常够用 */ private static final Integer MAX_BYTE_LENGTH = 4096; /** * REDIS 白名单默认分组 */ private static final String DEFAULT_SECURITY_GROUP_NAME = "default"; /** * REDIS 修改白名单的模式 */ private static final String MODIFY_MODE_APPEND = "Append"; /** * MNS 客户端发送消息地址 */ private static final String MNS_END_POINT = "http://%s.mns.%s.aliyuncs.com/"; /** * 待添加的REDIS实例ID,根据个人情况替换 */ private static final String REDIS_ID = ""; /** * 接收本次函数计算执行结果的队列名称,根据个人情况替换 */ private static final String QUEUE_NAME = "wujin-fc-callback"; /** * 阿里云账号UID,根据跟人情况替换 */ private static final Long USER_ID = 1111111111111111111L; /** * 伸缩组 MNS FC 所属的region,根据个人情况替换 */ private static final String REGION_ID = "cn-hangzhou"; @Override public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) { FCResult result = new FCResult(); String akId = context.getExecutionCredentials().getAccessKeyId(); String akSecret = context.getExecutionCredentials().getAccessKeySecret(); String securityToken = context.getExecutionCredentials().getSecurityToken(); try { //获取MNS触发函数计算时输入的内容 String input = readInput(inputStream); MnsMessageModel mnsMessageModel = JSON.parseObject(input, new TypeReference<MnsMessageModel>() { }); if (mnsMessageModel == null) { result.setSuccess(false); result.setMessage("mnsMessageModel is null"); sendMns(akId, akSecret, securityToken, result.toString()); return; } HookModel contentModel = mnsMessageModel.getContent(); if (contentModel == null) { result.setSuccess(false); result.setMessage("contentModel is null"); sendMns(akId, akSecret, securityToken, result.toString()); return; } IAcsClient client = buildClient(akId, akSecret, securityToken); //获取本次伸缩活动对应实例的私网IP List<String> privateIps = getInstancesPrivateIps(contentModel.getInstanceIds(), client); if (CollectionUtils.isEmpty(privateIps)) { result.setSuccess(false); result.setMessage("privateIps is empty"); sendMns(akId, akSecret, securityToken, result.toString()); return; } List<String> needAppendIps = filterPrivateIpsForAppend(privateIps, client); if (!CollectionUtils.isEmpty(needAppendIps)) { modifySecurityIps(client, needAppendIps); result.setLifecycleHookId(contentModel.getLifecycleHookId()); result.setLifecycleActionToken(contentModel.getLifecycleActionToken()); sendMns(akId, akSecret, securityToken, result.toString()); } } catch (Exception ex) { result.setSuccess(false); result.setMessage(ex.getMessage()); sendMns(akId, akSecret, securityToken, result.toString()); } } /** * 构建请求 ECS Redis 接口客户端 * * @param akId * @param akSecret * @param securityToken * @return */ private IAcsClient buildClient(String akId, String akSecret, String securityToken) { IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, akId, akSecret, securityToken); return new DefaultAcsClient(clientProfile); } /** * 将执行结果发送消息到MNS * * @param ak * @param aks * @param securityToken * @param msg */ private void sendMns(String ak, String aks, String securityToken, String msg) { MNSClient client = null; try { CloudAccount account = new CloudAccount(ak, aks, String.format(MNS_END_POINT, USER_ID, REGION_ID), securityToken); client = account.getMNSClient(); CloudQueue queue = client.getQueueRef(QUEUE_NAME); Message message = new Message(); message.setMessageBody(msg); queue.putMessage(message); } finally { if (client != null) { client.close(); } } } /** * 过滤出需要添加到redis的私网IP * * @param privateIps 过滤以前的私网IP * @param client * @return * @throws ClientException */ private List<String> filterPrivateIpsForAppend(List<String> privateIps, IAcsClient client) throws ClientException { List<String> needAppendIps = new ArrayList<>(); if (CollectionUtils.isEmpty(privateIps)) { return needAppendIps; } DescribeSecurityIpsRequest request = new DescribeSecurityIpsRequest(); request.setInstanceId(REDIS_ID); DescribeSecurityIpsResponse response = client.getAcsResponse(request); List<DescribeSecurityIpsResponse.SecurityIpGroup> securityIpGroups = response .getSecurityIpGroups(); if (CollectionUtils.isEmpty(securityIpGroups)) { return privateIps; } for (DescribeSecurityIpsResponse.SecurityIpGroup securityIpGroup : securityIpGroups) { if (!securityIpGroup.getSecurityIpGroupName().equals(DEFAULT_SECURITY_GROUP_NAME)) { continue; } String securityIps = securityIpGroup.getSecurityIpList(); if (securityIps == null) { continue; } String[] securityIpList = securityIps.split(","); List<String> existIps = Arrays.asList(securityIpList); if (CollectionUtils.isEmpty(existIps)) { continue; } for (String ip : privateIps) { if (!existIps.contains(ip)) { needAppendIps.add(ip); } } } return privateIps; } /** * 修改REDIS实例DEFAULT分组私网IP白名单 * * @param client * @param needAppendIps * @throws ClientException */ private void modifySecurityIps(IAcsClient client, List<String> needAppendIps) throws ClientException { if (CollectionUtils.isEmpty(needAppendIps)) { return; } ModifySecurityIpsRequest request = new ModifySecurityIpsRequest(); request.setInstanceId(REDIS_ID); String ip = StringUtils.join(needAppendIps.toArray(), ","); request.setSecurityIps(ip); request.setSecurityIpGroupName(DEFAULT_SECURITY_GROUP_NAME); request.setModifyMode(MODIFY_MODE_APPEND); client.getAcsResponse(request); } /** * 获取输入,并base64解码 * * @param inputStream * @return * @throws IOException */ private String readInput(InputStream inputStream) throws IOException { try { byte[] bytes = new byte[MAX_BYTE_LENGTH]; int tmp; int len = 0; //循环读取所有内容 while ((tmp = inputStream.read()) != -1 && len < MAX_BYTE_LENGTH) { bytes[len] = (byte) tmp; len++; } inputStream.close(); byte[] act = new byte[len]; System.arraycopy(bytes, 0, act, 0, len); return new String(Base64.decodeBase64(act), CHAR_SET); } finally { inputStream.close(); } } /** * 获取实例列表对应的私网IP,并限制每次请求实例数量不超过100 * * @param instanceIds 实例列表 * @param client 请求客户端 * @return * @throws Exception */ public List<String> getInstancesPrivateIps(List<String> instanceIds, IAcsClient client) throws Exception { List<String> privateIps = new ArrayList<>(); if (CollectionUtils.isEmpty(instanceIds)) { return privateIps; } int size = instanceIds.size(); int queryNumberPerTime = 100; int batchCount = (int) Math.ceil((float) size / (float) queryNumberPerTime); //support 100 instance for (int i = 1; i <= batchCount; i++) { int fromIndex = queryNumberPerTime * (i - 1); int toIndex = Math.min(queryNumberPerTime * i, size); List<String> subList = instanceIds.subList(fromIndex, toIndex); DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setInstanceIds(JSON.toJSONString(subList)); DescribeInstancesResponse response = client.getAcsResponse(request); List<DescribeInstancesResponse.Instance> instances = response.getInstances(); if (CollectionUtils.isEmpty(instances)) { continue; } for (DescribeInstancesResponse.Instance instance : instances) { String privateIp = getPrivateIp(instance); if (privateIp != null) { privateIps.add(privateIp); } } } return privateIps; } /** * 从 DescribeInstancesResponse.Instance 中解析出私网 IP * * @param instance DescribeInstancesResponse.Instance */ private String getPrivateIp(DescribeInstancesResponse.Instance instance) { String privateIp = null; if (VPC_NETWORK.equalsIgnoreCase(instance.getInstanceNetworkType())) { DescribeInstancesResponse.Instance.VpcAttributes vpcAttributes = instance .getVpcAttributes(); if (vpcAttributes != null) { List<String> privateIpAddress = vpcAttributes.getPrivateIpAddress(); if (!CollectionUtils.isEmpty(privateIpAddress)) { privateIp = privateIpAddress.get(0); } } } else { List<String> innerIpAddress = instance.getInnerIpAddress(); if (!CollectionUtils.isEmpty(innerIpAddress)) { privateIp = innerIpAddress.get(0); } } return privateIp; } } FCResult.java代码如下: package model; import com.alibaba.fastjson.JSON; public class FCResult { private boolean success = true; private String lifecycleHookId; private String lifecycleActionToken; private String message; public boolean isSuccess() { return success; } public void setSuccess(boolean success) { this.success = success; } public String getLifecycleHookId() { return lifecycleHookId; } public void setLifecycleHookId(String lifecycleHookId) { this.lifecycleHookId = lifecycleHookId; } public String getLifecycleActionToken() { return lifecycleActionToken; } public void setLifecycleActionToken(String lifecycleActionToken) { this.lifecycleActionToken = lifecycleActionToken; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @Override public String toString() { return JSON.toJSONString(this); } } HookModel.java代码如下: package model; import java.util.List; public class HookModel { private String lifecycleHookId; private String lifecycleActionToken; private String lifecycleHookName; private String scalingGroupId; private String scalingGroupName; private String lifecycleTransition; private String defaultResult; private String requestId; private String scalingActivityId; private List<String> instanceIds; public String getLifecycleHookId() { return lifecycleHookId; } public void setLifecycleHookId(String lifecycleHookId) { this.lifecycleHookId = lifecycleHookId; } public String getLifecycleActionToken() { return lifecycleActionToken; } public void setLifecycleActionToken(String lifecycleActionToken) { this.lifecycleActionToken = lifecycleActionToken; } public String getLifecycleHookName() { return lifecycleHookName; } public void setLifecycleHookName(String lifecycleHookName) { this.lifecycleHookName = lifecycleHookName; } public String getScalingGroupId() { return scalingGroupId; } public void setScalingGroupId(String scalingGroupId) { this.scalingGroupId = scalingGroupId; } public String getScalingGroupName() { return scalingGroupName; } public void setScalingGroupName(String scalingGroupName) { this.scalingGroupName = scalingGroupName; } public String getLifecycleTransition() { return lifecycleTransition; } public void setLifecycleTransition(String lifecycleTransition) { this.lifecycleTransition = lifecycleTransition; } public String getDefaultResult() { return defaultResult; } public void setDefaultResult(String defaultResult) { this.defaultResult = defaultResult; } public String getRequestId() { return requestId; } public void setRequestId(String requestId) { this.requestId = requestId; } public String getScalingActivityId() { return scalingActivityId; } public void setScalingActivityId(String scalingActivityId) { this.scalingActivityId = scalingActivityId; } public List<String> getInstanceIds() { return instanceIds; } public void setInstanceIds(List<String> instanceIds) { this.instanceIds = instanceIds; } } MnsMessageModel.java代码如下: package model; public class MnsMessageModel { private String userId; private String regionId; private String resourceArn; private HookModel content; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getRegionId() { return regionId; } public void setRegionId(String regionId) { this.regionId = regionId; } public String getResourceArn() { return resourceArn; } public void setResourceArn(String resourceArn) { this.resourceArn = resourceArn; } public HookModel getContent() { return content; } public void setContent(HookModel content) { this.content = content; } }

1934890530796658 2020-03-22 13:32:03 0 浏览量 回答数 0

问题

spring boot连接MongoDB报错

李博 bluemind 2019-12-01 19:37:11 924 浏览量 回答数 1

问题

关于springboot2.x版本中stringRedisTemplate操作R?400报错

爱吃鱼的程序员 2020-06-06 09:33:56 0 浏览量 回答数 1

问题

Windows Server 2016 配置指南 全系列

妙正灰 2019-12-01 21:26:02 45467 浏览量 回答数 13

回答

首先搜了下druid 官网 FAQ https://github.com/alibaba/druid/wiki/常见问题 发现是druid有对连接泄露进行监控处理 https://github.com/alibaba/druid/wiki/连接泄漏监测 https://github.com/alibaba/druid/issues/872 我这边没有配对监控,直接是从日志中看到的,有相应的线程栈信息,可以方便排查。 public DruidPooledConnection getConnectionDirect(long maxWaitMillis) throws SQLException { int notFullTimeoutRetryCnt = 0; DruidPooledConnection poolableConnection; while(true) { while(true) { try { Connection realConnection = poolableConnection.getConnection(); this.discardConnection(realConnection); } else { Connection realConnection = poolableConnection.getConnection(); if(realConnection.isClosed()) { this.discardConnection((Connection)null); } else { if(!this.isTestWhileIdle()) { break; } long currentTimeMillis = System.currentTimeMillis(); long lastActiveTimeMillis = poolableConnection.getConnectionHolder().getLastActiveTimeMillis(); long idleMillis = currentTimeMillis - lastActiveTimeMillis; long timeBetweenEvictionRunsMillis = this.getTimeBetweenEvictionRunsMillis(); if(timeBetweenEvictionRunsMillis <= 0L) { timeBetweenEvictionRunsMillis = 60000L; } if(idleMillis < timeBetweenEvictionRunsMillis) { break; } this.discardConnection(realConnection); } } } if(this.isRemoveAbandoned()) { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); poolableConnection.setConnectStackTrace(stackTrace); poolableConnection.setConnectedTimeNano(); poolableConnection.setTraceEnable(true); Map var21 = this.activeConnections; synchronized(this.activeConnections) { this.activeConnections.put(poolableConnection, PRESENT); } } if(!this.isDefaultAutoCommit()) { poolableConnection.setAutoCommit(false); } return poolableConnection; } 这个连接泄露不会导致OOM,因为druid会去主动detroy这些未关闭的连接,也就是上面日志中的错误信息 现在知道是有数据库连接未关闭,但是代码中并没有去管理数据库连接池,都是交给了Spring去管理的呢,而且不是每个数据库操作都会有问题,而是特定的数据库操作有问题 开启debug日志 2018-01-23 21:08:35,760 DEBUG [org.springframework.data.redis.core.RedisConnectionUtils] - Opening RedisConnection 2018-01-23 21:08:35,761 DEBUG [org.springframework.data.redis.core.RedisConnectionUtils] - Closing Redis Connection 2018-01-23 21:08:35,762 DEBUG [org.mybatis.spring.SqlSessionUtils] - Creating a new SqlSession 2018-01-23 21:08:35,762 DEBUG [org.mybatis.spring.SqlSessionUtils] - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ba28a19] was not registered for synchronization because synchronization is not active 2018-01-23 21:08:35,765 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Fetching JDBC Connection from DataSource 2018-01-23 21:08:35,765 DEBUG [org.mybatis.spring.transaction.SpringManagedTransaction] - JDBC Connection [com.taobao.tddl.matrix.jdbc.TConnection@24f6de0] will not be managed by Spring 2018-01-23 21:08:35,766 DEBUG [com.taobao.tddl.group.jdbc.TGroupConnection] - [TDDL] dataSourceIndex=GroupIndex [index=0, failRetry=false], tddl version: 5.1.7 2018-01-23 21:08:35,810 DEBUG [org.mybatis.spring.SqlSessionUtils] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5ba28a19] 2018-01-23 21:08:35,810 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Returning JDBC Connection to DataSource 这里接可以看出阿里的开源软件距离工业级还有距离,Spring的可以清楚的看到连接释放与返回,而Druid并没有 因为这个是和特定的SQL有关系,所有看下具体的这个SQL操作 @Options(statementType = StatementType.CALLABLE) @Insert("<script> " + "</script>") int saveDemo(Demo demo); 这个是之前人留下的,这种写法目前在项目组不是很常见了,没有实现代码与SQL语句分离,不是很提倡。 这边的StatementType为Callable,看起来比奇怪,一般CallableStatement由于数据库存储过程的操作,显然这个语句不是这么调用存储过程。不知道前任为什么这么写,所以首先干掉了这个StatementType.CALLABLE参数。 结果果然出错了,调用的时候报错,一个好笑的错误,没有使用auto generate id,却调用了。 这个应该是MySQL 5.7 driver的一个bug,前任为了避免这个问题,使用CallableStatement绕过去了 Caused by: Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate() or Connection.prepareStatement(). at com.taobao.tddl.repo.mysql.handler.PutMyHandlerCommon.handle(PutMyHandlerCommon.java:52) at com.taobao.tddl.executor.AbstractGroupExecutor.executeInner(AbstractGroupExecutor.java:59) at com.taobao.tddl.executor.AbstractGroupExecutor.execByExecPlanNode(AbstractGroupExecutor.java:40) at com.taobao.tddl.executor.TopologyExecutor.execByExecPlanNode(TopologyExecutor.java:59) at com.taobao.tddl.executor.MatrixExecutor.execByExecPlanNode(MatrixExecutor.java:282) 所以先改成xml方式验证下,xml默认是PreparedStatement,然后看下是否还能发生错误 发现没有了,所以问题的原因就是CallableStatement造成的

保持可爱mmm 2020-04-15 23:11:09 0 浏览量 回答数 0

问题

jfinal weixin与springmvc集成的问题 : 配置报错 

kun坤 2020-06-04 13:12:04 5 浏览量 回答数 1

回答

Java Java核心技术·卷 I(原书第10版)| Core Java Volume 讲的很全面,书中的代码示例都很好,很适合Java入门。 但是作者不太厚道的是把现在没人用的GUI编程放在了第一卷,基本上10~13章是可以不用读的。 Java性能权威指南|Java Performance: The Definitive Guide 市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。 通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。 实战Java高并发程序设计|葛一鸣 由部分段落的行文来看,搬了官方文档。 也有一些第一人称的叙述和思考,也能看出作者也是花了一点心思的。胜在比较基础,涉及到的知识点也还很全面(讲到了流水线计算和并发模型这些边边角角的),但是由于是编著,全书整体上不够统一和深入,适合作为学习高并发的第一本工具书。 Java 8实战 对Java8的新特性讲解的十分到位,尤其是lamdba表达式和流的操作。 再者对于Java8并发处理很有独到见解。对于并行数据处理和组合式异步编程还需要更深的思考才能更加掌握。 推荐给再用java8但没有去真正了解的人看,有很多你不知道的细节、原理和类库设计者的用心良苦在里面、内容没有很难,抽出几个小时就能看完,花费的时间和收获相比,性价比很高。 Java并发编程实战 先不谈本书的内容如何,光书名就足够吸引不少目光。“并发”这个词在Java世界里往往和“高级、核心”等字眼相联系起来,就冲着这两个字,都将勾起软件工程师们埋藏在心底那种对技术的探索欲和对高级API的驾驭感。 程序员嘛,多少都有点职业病。其实Java对“并发”优化从未停止过,从5.0到7.0,几乎每个版本的新特性里,都会针对前一版本在“并发”上有所改进。这种改进包括提供更丰富的API接口、JVM底层性能优化等诸多方面。 Thinking in Java 很美味的一本书,不仅有icecreamm,sundae,sandwich,还有burrito!真是越看越饿啊~ Effective Java中文版(第3版)|Effective Java Third Edition Java 高阶书籍,小白劝退。介绍了关于Java 编程的90个经验技巧。 作者功力非常强悍,导致这本书有时知识面迁移很广。总之,非常适合有一定Java开发经验的人阅读提升。 深入理解Java虚拟机(第3版)| 周志明 浅显易懂。最重要的是开启一扇理解虚拟机的大门。 内存管理机制与Java内存模型、高效并发这三章是特别实用的。 Java虚拟机规范(Java SE 8版)|爱飞翔、周志明 整本书就觉得第二章的方法字节码执行流程,第四章的前8节和第五章能看懂一些。其他的过于细致和琐碎了。 把Java字节码讲的很清楚了,本质上Java虚拟机就是通过字节码来构建的一套体系罢了。所以字节码说的非常细致深入。 数据&大数据 数据结构与算法分析|Data Structures and Algorithm Analysis in Java 数据结构是计算机的核心,这部书以java语言为基础,详细的介绍了基本数据结构、图、以及相关的排序、最短路径、最小生成树等问题。 但是有一些高级的数据结构并没有介绍,可以通过《数据结构与算法分析——C语言描述》来增加对这方面的了解。 MySQL必知必会 《MySQL必知必会》MySQL是世界上最受欢迎的数据库管理系统之一。 书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。 数据库系统概念|Datebase System Concepts(Fifth Edition) 从大学读到现在,每次拿起都有新的收获。而且这本书还是对各个数据相关领域的概览,不仅仅是数据库本身。 高性能MySQL 对于想要了解MySQL性能提升的人来说,这是一本不可多得的书。 书中没有各种提升性能的秘籍,而是深入问题的核心,详细的解释了每种提升性能的原理,从而可以使你四两拨千斤。授之于鱼不如授之于渔,这本书做到了。 高可用MySQL 很实用的书籍,只可惜公司现有的业务和数据量还没有达到需要实践书中知识的地步。 利用Python进行数据分析|唐学韬 内容还是跟不上库的发展速度,建议结合里面讲的库的文档来看。 内容安排上我觉得还不错,作者是pandas的作者,所以对pandas的讲解和设计思路都讲得很清楚。除此以外,作者也是干过金融数据分析的,所以后面专门讲了时间序列和金融数据的分析。 HBase 看完影印版第一遍,开始以为会是大量讲API,实际上除了没有将HBase源代码,该讲的都讲了,CH8,9章留到最后看的,确实有点顿悟的感觉,接下来需要系统的看一遍Client API,然后深入代码,Come ON! Programming Hive Hive工具书,Hive高级特性。 Hadoop in Practice| Alex Holmes 感觉比action那本要强 像是cookbook类型的 整个过完以后hadoop生态圈的各种都接触到了 这本书适合当参考手册用。 Hadoop技术内幕|董西成 其实国人能写这样的书,感觉还是不错的,不过感觉很多东西不太深入,感觉在深入之前,和先有整体,带着整体做深入会更好一点, jobclient,jobtracer,tasktracer之间的关系最好能系统化 Learning Spark 很不错,core的原理部分和api用途解释得很清楚,以前看文档和代码理解不了的地方豁然开朗。 不足的地方是后几章比较弱,mllib方面没有深入讲实现原理。graphx也没有涉及 ODPS权威指南 基本上还算一本不错的入门,虽然细节方面谈的不多,底层也不够深入,但毕竟是少有的ODPS书籍,且覆盖面很全,例子也还行。 数据之巅|徐子沛 从一个新的视角(数据)切入,写美国历史,统计学的发展贯穿其中,草蛇灰线,伏脉千里,读起来波澜壮阔。 消息队列&Redis RabbitMQ实战 很多年前的书了,书中的例子现在已经不适用了,推荐官方教程。 一些基础还是适用,网上也没有太多讲rab的书籍,将就看下也行,我没用过所以…. Apache Kafka源码剖析|徐郡明 虽然还没看,但知道应该不差。我是看了作者的mybatis源码分析,再来看这本的,相信作者。 作者怎么有这么多时间,把框架研究的这么透彻,佩服,佩服。 深入理解Kafka:核心设计与实践原理|朱忠华 通俗易懂,图文并茂,用了很多图和示例讲解kafka的架构,从宏观入手,再讲到细节,比较好,值得推荐。 深入理解Kafka是市面上讲解Kafka核心原理最透彻的,全书都是挑了kafka最核心的细节在讲比如分区副本选举、分区从分配、kafka数据存储结构、时间轮、我认为是目前kafka相关书籍里最好的一本。 Kafka 认真刷了 kafka internal 那章,看了个talk,算是入了个门。 系统设计真是门艺术。 RocketMQ实战与原理解析|杨开元 对RocketMQ的脉络做了一个大概的说明吧,深入细节的东西还是需要自己看代码 Redis设计与实现|黄健宏 部分内容写得比较啰嗦,当然往好了说是对新手友好,不厌其烦地分析细节,但也让整本书变厚了,个人以为精炼语言可以减少20%的内容。 对于有心一窥redis实现原理的读者来说,本书展露了足够丰富的内容和细节,却不至于让冗长的实现代码吓跑读者——伪代码的意义在此。下一步是真正读源码了。 Redis 深度历险:核心原理与应用实践|钱文品 真心不错,数据结构原理+实际应用+单线程模型+集群(sentinel, codis, redis cluster), 分布式锁等等讲的都十分透彻。 一本书的作用不就是系统性梳理,为读者打开一扇窗,读者想了解更多,可以自己通过这扇窗去Google。这本书的一个瑕疵是最后一章吧,写的仓促了。不过瑕不掩瑜。 技术综合 TCP/IP详解 卷1:协议 读专业性书籍是一件很枯燥的事,我的建议就是把它作为一本手册,先浏览一遍,遇到问题再去详细查,高效。 Netty in Action 涉及到很多专业名词新概念看英文原版顺畅得多,第十五章 Choosing the right thread model 真是写得太好了。另外结合Ron Hitchens 写的《JAVA NIO》一起看对理解JAVA NIO和Netty还是很有帮助的 ZooKeeper 值得使用zookeeper的人员阅读, 对于zookeeper的内部机制及api进行了很详细的讲解, 后半部分深入地讲解了zookeeper中ensemble互相协作的流程, 及group等高级配置, 对zookeeper的高级应用及其它类似系统的设计都很有借鉴意义. 从Paxos到Zookeeper|倪超 分布式入门鼻祖,开始部分深入阐述cap和base理论,所有的分布式框架都是围绕这个理论的做平衡和取舍,中间 zk的原理、特性、实战也讲的非常清晰,同时讲cap理论在zk中是如何体现,更加深你对cap的理解. 深入理解Nginx(第2版)|陶辉 云里雾里的快速读了一遍,主要是读不懂,读完后的感受是设计的真好。 原本是抱着了解原理进而优化性能的想法来读的,却发现书中的内容都是讲源码,作者对源码的注释超级详细,非常适合开发者,但不适合使用者,给个五星好评是因为不想因为我这种菜鸡而埋没了高质量内容。 另外别人的代码写的真好看,即便是过程式语言程序也吊打我写的面向对象语言程序。 作者是zookeeper的活跃贡献者,而且是很资深的研究员,内容比较严谨而且较好的把握住了zk的精髓。书很薄,但是没有废话,选题是经过深思熟虑的。 深入剖析Tomcat 本书深入剖析Tomcat 4和Tomcat 5中的每个组件,并揭示其内部工作原理。通过学习本书,你将可以自行开发Tomcat组件,或者扩展已有的组件。 Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。本书从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。 深入理解计算机系统 | 布莱恩特 无论是内容还是纸张印刷,都是满分。计算机学科的集大成之作。引导你如何练内功的,算是高配版本的计算机导论,目的是釜底抽薪引出来操作系统、组成原理这些专业核心的课程。帮助我们按图索骥,点亮一个一个技能树。 架构探险分布式服务框架 | 李业兵 刚看前几章的时候,心里满脑子想得都是这特么贴一整页pom文件代码上来干鸡毛,又是骗稿费的,买亏了买亏了,后来到序列化那章开始,诶?还有那么点意思啊。 到服务注册中心和服务通讯,60块钱的书钱已经赚回来了。 知识是无价的,如果能花几十块钱帮你扫了几个盲区,那就是赚了。 深入分析JavaWeb技术内幕 | 许令波 与这本书相识大概是四年前是在老家的北方图书城里,当时看到目录的感觉是真的惊艳,对当时刚入行的自己来说,这简直就是为我量身定做的扫盲科普集啊。 但是可惜的是,这本书在后来却一直没机会读上。然后经过四年的打怪升级之后,这次的阅读体验依旧很好。 其中,java编译原理、 Servlet工作原理、 Tomcat、spring和iBatis这几章的收获很大。 前端 jQuery 技术内幕| 高云 非常棒的一本书,大大降低了阅读jquery源码的难度(虽然还是非常难)。 Head First HTML与CSS(第2版) 翻了非常久的时间 断断续续 其实从头翻到尾 才发现一点都不难。 可我被自己的懒惰和畏难情绪给拖累了 简单说 我成了自己往前探索的负担。网页基础的语法基本都涵盖了 限于文本形态 知识点都没法像做题一样被反复地运用和复习到。通俗易懂 这不知算是多高的评价? 作为入门真心算不错了 如果更有耐心 在翻完 HTML 后 对 CSS 部分最好是可以迅速过一遍 找案例练习估计更好 纸上得来终觉浅 总是这样。 JavaScript高级程序设计(第3版) JavaScript最基础的书籍,要看认真,慢慢地看,累计接近1000小时吧。而且对象与继承,性能优化,HTML5 api由于没有实践或缺乏代码阅读量导致看的很糊涂,不过以后可以遇到时再翻翻,或者看更专业的书。 深入理解ES6 Zakas的又一部杰作,他的作品最优秀的地方在于只是阐述,很少评价,这在帮助我们夯实基础时十分有意义,我也喜欢这种风格。 我是中英文参照阅读的,译本后半部分有一些文字上的纰漏,但是总体来说忠实原文,水平还是相当不错,希望再版时可以修复这些文字问题。 高性能JavaScript 还是挺不错的。尤其是对初学者。总结了好多程序方面的好习惯。 不过对于老手来说,这些常识已经深入骨髓了。 深入浅出Node.js|朴灵 本书是我看到现在对Node.JS技术原理和应用实践阐述的最深入,也最全面的一本书。鉴于作者也是淘宝的一位工程师,在技术总是国外好的大环境下,没有理由不给本书五颗星。 作者秉着授人于鱼不如授人于渔的精神,细致入微的从V8虚拟机,内存管理,字符串与Buffer的应用,异步编程的思路和原理这些基础的角度来解释Node.JS是如何工作的,比起市面上众多教你如何安装node,用几个包编写一些示例来比,本书绝对让人受益匪浅。 认真看完本书,几乎可以让你从一个Node的外行进阶到专家的水平。赞! 总结 其实我觉得在我们现在这个浮躁的社会,大家闲暇时间都是刷抖音,逛淘宝,微博……他们都在一点点吞噬你的碎片时间,如果你尝试着去用碎片的时间看看书,我想时间久了你自然能体会这样的好处。 美团技术团队甚至会奖励读完一些书本的人,很多公司都有自己的小图书馆,我觉得挺好的。 文章来自:敖丙

剑曼红尘 2020-03-20 14:52:22 0 浏览量 回答数 0

问题

Spring搭建的项目Tomcat启动的时候报错??报错

爱吃鱼的程序员 2020-06-08 20:20:34 0 浏览量 回答数 1

问题

基础语言百问-Python

薯条酱 2019-12-01 20:12:27 56807 浏览量 回答数 30

问题

sojson出品shiro-demo心得? 400 报错

爱吃鱼的程序员 2020-06-01 11:45:13 0 浏览量 回答数 1

问题

activiti报错org.activiti.engine.ActivitiEx?400报错

爱吃鱼的程序员 2020-06-07 22:14:51 0 浏览量 回答数 1

问题

tomcat日志采集?报错

爱吃鱼的程序员 2020-06-08 16:48:15 0 浏览量 回答数 1

回答

这是读取你配置文件的时候出错了,应该是哪个属性你没有加或者值为空 谢谢你的回答,配置文件的话我是按照视频来导入项目的,视频的配置文件跟我的是一样的。 <p>你把你的配置文件内容贴出来看看嘛 </p>   你好,配置文件我刚刚贴出来了,非常感谢你的回答 <pre>dataSource</pre> 可能情况 1.配置文件没读取到 2.配置文件没有dataSource 3.配置文件里的dataSource属性是错的,造成无法打开数据连接 你好,配置文件我刚刚贴上来了,我真的是第一次接触这个配置文件,做项目之前,视频也没有教过,所以不知道怎么样配置 <p>`````</p> <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.itcast</groupId> <artifactId>travel</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!--servlet--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> <scope>compile</scope> </dependency> <!--druid连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.9</version> </dependency> <!--jdbcTemplate--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.1.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.2.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> <scope>compile</scope> </dependency> <!--beanUtils--> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.2</version> <scope>compile</scope> </dependency> <!--jackson--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.3.3</version> </dependency> <!--javaMail--> <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.5.6</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.3</version> </dependency> <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.0</version> </dependency> </dependencies> <build> <!--maven插件--> <plugins> <!--jdk编译插件--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>utf-8</encoding> </configuration> </plugin> <!--tomcat插件--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <!-- tomcat7的插件, 不同tomcat版本这个也不一样 --> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <!-- 通过maven tomcat7:run运行项目时,访问项目的端口号 --> <port>8080</port> <!-- 项目访问路径 本例:localhost:9090, 如果配置的aa, 则访问路径为localhost:9090/aa--> <path>/travel</path> </configuration> </plugin> </plugins> </build> </project> ````` <p>各位,我把项目上传到了百度云,里面的代码我都已经写好了,只要<strong>启动项目,在注册页面上填写注册信息,点击提交,控制台就会报错</strong>。数据库的代码就在项目的travel.sql文件中,</p> 感兴趣有时间的可以帮忙看一下我代码究竟那里出错了,不感兴趣的可以忽略这段话,如果不是实在没有头绪,我也不会做伸手党,这已经是第二天了,今天在解决不了,就要跳过项目学框架了。谢谢各位啦   链接:https://pan.baidu.com/s/1KImj8iaxV9xy-cv5ri0LXg  提取码:fzwk  复制这段内容后打开百度网盘手机App,操作更方便哦 <p>500元帮解决问题</p> 你好幽默呀 <pre>JdbcTemplate 以及数据源是怎么配置的,xml 和 propertiles 贴出来看下</pre> <p>你好,JdbcTemplate配置还有其他配置,我上面已经贴了出来了,xml的话好像没有这个,我用的是maven来管理项目,下面是druid.propertiles的配置信息</p> ```` driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:///travel username=root password=12345 initialSize=5 maxActive=10 maxWait=3000 `````   你的报错是使用了 spring JdbcTemplate 但是没有配置 dataSource。 1.你需要在你的 spring 配置文件里引入你的 properties 文件。 2.需要配置 dataSource。 3.需要配置 JdbcTemplate 设置 dataSource 属性。 这些你都做了吗? 对,你这些属性,是配置在哪个对象里的。发出来看下 <p>properties文件没有读到,注意位置,看看打包后的项目中是不是不存在这个文件。。估计你把配置文件放到源代码一个目录下了。。。</p> 回复 <a class="referer" target="_blank">@OSC_Uwslqd</a> : 可以看下这个https://www.cnblogs.com/MoShin/archive/2011/10/10/2204020.html 回复 <a class="referer" target="_blank">@OSC_Uwslqd</a> : spring bean 注入没有加 你好,你说的是对的,但是现在还有一个bug没有解决 Servlet.service() for servlet [cn.itcast.travel.web.servlet.RegistUserServlet] in context with path [/travel] threw exception

爱吃鱼的程序员 2020-06-05 16:35:38 0 浏览量 回答数 0

回答

估计是加载配置文件出错 你先把superdiamond这个服务启动起来 https://github.com/melin/super-diamond这个是项目地址这个项目采用maven分模块开发目录格式,找到htz执行一次mvncleaninstall-Dmaven.test.skip=true.需要把依赖包映射进去.当然没这么简单还有其它环境加载问题,你沿着maven构建这条思路找问题吧好的谢谢。我尝试一下,至少有方向了。只有回家熬夜弄     你还是先学习下maven吧,这个没在本人面前,没法跟你说清楚。如果人在面前,当面说,分分钟。就好比我一眼就知道男人和女人的区别,但我一个小时也没法用文字或算法描述出来 这是maven多模块项目,通常有父项目和子项目之分。你可以单独运行子项目,也可以看POM文件,找到父项目,直接编译父项目即可。但是,随机应变。 另外,grunt是前端的构建工具,和你这个java项目无关的。 或者你尝试把父项目POM贴出来,以及maven的完整报错 另外,你也完全可以直接在eclipse按照传统的方式添加一个server的方式来部署,不是非要mvntomcat:run这样。 然后去编译后的目录看看哪些文件没有编译出来好吧,当时学习maven是为了公司的项目。就只是简单的入了个门,基本上能够操作就没有继续深入了。明天研究一下,然后再把pom文件贴出来。您受累帮我看一下吧,公司给我下了一个新功能,项目跑不起来急死人了。感激不尽 这是完整的pom文件: <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>       <groupId>htz</groupId>       <artifactId>htz-parent</artifactId>       <version>0.1.5</version>    </parent>    <groupId>huitouzi</groupId>    <artifactId>htz</artifactId>    <version>1.6.9</version>    <packaging>war</packaging>    <name>htz</name>    <properties>       <org.springframework.version>3.2.2.RELEASE</org.springframework.version>       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>    <dependencies>       <dependency>          <groupId>htz</groupId>          <artifactId>htz-util</artifactId>          <version>[0.1.22,0.2)</version>       </dependency>       <dependency>          <groupId>arch</groupId>          <artifactId>arch-util</artifactId>          <version>[0.1.19,0.2)</version>       </dependency>       <dependency>          <groupId>CommonService</groupId>          <artifactId>CommonServiceClient</artifactId>          <version>SNAPSHOT</version>       </dependency>       <dependency>          <groupId>javax</groupId>          <artifactId>javaee-api</artifactId>          <version>6.0</version>          <scope>provided</scope>       </dependency>       <!--Spring-->       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-core</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-expression</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-beans</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-aop</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-context</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-context-support</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-tx</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-jdbc</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-orm</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-oxm</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-web</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-webmvc</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-webmvc-portlet</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <dependency>          <groupId>org.springframework</groupId>          <artifactId>spring-test</artifactId>          <version>${org.springframework.version}</version>       </dependency>       <!--hibernate-->       <dependency>          <groupId>org.hibernate</groupId>          <artifactId>hibernate-core</artifactId>          <version>3.6.10.Final</version>       </dependency>       <dependency>          <groupId>org.hibernate.javax.persistence</groupId>          <artifactId>hibernate-jpa-2.1-api</artifactId>          <version>1.0.0.Final</version>       </dependency>       <dependency>          <groupId>org.hibernate</groupId>          <artifactId>hibernate-validator</artifactId>          <version>4.3.0.Final</version>       </dependency>       <dependency>          <groupId>asm</groupId>          <artifactId>asm</artifactId>          <version>3.1</version>       </dependency>       <!--json-->       <dependency>          <groupId>net.sf.json-lib</groupId>          <artifactId>json-lib</artifactId>          <version>2.1</version>          <classifier>jdk15</classifier>       </dependency>       <!--pdf-->       <dependency>          <groupId>htzpdf</groupId>          <artifactId>iText</artifactId>          <version>2.0.8a</version>       </dependency>       <dependency>          <groupId>htzpdf</groupId>          <artifactId>core-renderer</artifactId>          <version>4.0</version>       </dependency>       <dependency>          <groupId>htzpdf</groupId>          <artifactId>bcprov</artifactId>          <version>jdk15-1.46a</version>       </dependency>       <!--mail-->       <dependency>          <groupId>javax.mail</groupId>          <artifactId>mail</artifactId>          <version>1.4.7</version>       </dependency>       <!--apache-commons-->       <dependency>          <groupId>commons-httpclient</groupId>          <artifactId>commons-httpclient</artifactId>          <version>3.1</version>       </dependency>       <dependency>          <groupId>commons-collections</groupId>          <artifactId>commons-collections</artifactId>          <version>3.1</version>       </dependency>       <dependency>          <groupId>commons-dbcp</groupId>          <artifactId>commons-dbcp</artifactId>          <version>1.2.2</version>       </dependency>       <dependency>          <groupId>commons-fileupload</groupId>          <artifactId>commons-fileupload</artifactId>          <version>1.2.1</version>       </dependency>       <dependency>          <groupId>commons-io</groupId>          <artifactId>commons-io</artifactId>          <version>1.4</version>       </dependency>       <dependency>          <groupId>commons-beanutils</groupId>          <artifactId>commons-beanutils</artifactId>          <version>1.8.3</version>       </dependency>       <dependency>          <groupId>commons-lang</groupId>          <artifactId>commons-lang</artifactId>          <version>2.3</version>       </dependency>       <dependency>          <groupId>commons-logging</groupId>          <artifactId>commons-logging</artifactId>          <version>1.1.3</version>       </dependency>       <dependency>          <groupId>commons-pool</groupId>          <artifactId>commons-pool</artifactId>          <version>1.6</version>       </dependency>       <!--xfire-->       <dependency>          <groupId>org.codehaus.xfire</groupId>          <artifactId>xfire-all</artifactId>          <version>1.2.6</version>          <exclusions>             <exclusion>                <groupId>org.codehaus.xfire</groupId>                <artifactId>xfire-spring</artifactId>             </exclusion>             <exclusion>                <groupId>xml-apis</groupId>                <artifactId>xml-apis</artifactId>             </exclusion>             <exclusion>                <groupId>ant</groupId>                <artifactId>ant</artifactId>             </exclusion>             <exclusion>                <groupId>jdom</groupId>                <artifactId>jdom</artifactId>             </exclusion>          </exclusions>       </dependency>       <!--zxing-->       <dependency>          <groupId>htz</groupId>          <artifactId>zxing</artifactId>          <version>2.3.1</version>       </dependency>       <!--jakarta-oro-->       <dependency>          <groupId>ant</groupId>          <artifactId>ant-jakarta-oro</artifactId>          <version>1.6.1</version>       </dependency>       <!--gson-->       <dependency>          <groupId>com.google.code.gson</groupId>          <artifactId>gson</artifactId>          <version>1.7.2</version>       </dependency>       <!--xerces-->       <dependency>          <groupId>xml-apis</groupId>          <artifactId>xerces</artifactId>          <version>2.9.1</version>       </dependency>       <!--ehcache-->       <dependency>          <groupId>net.sf.ehcache</groupId>          <artifactId>ehcache</artifactId>          <version>1.5.0</version>       </dependency>       <!--castor-->       <dependency>          <groupId>org.codehaus.castor</groupId>          <artifactId>castor-xml</artifactId>          <version>1.3.2</version>       </dependency>       <!--jstl-->       <dependency>          <groupId>jstl</groupId>          <artifactId>jstl</artifactId>          <version>1.2</version>       </dependency>       <!--thirdparty-->       <dependency>          <groupId>jakarta</groupId>          <artifactId>jakarta-oro</artifactId>          <version>2.0.7</version>       </dependency>       <dependency>          <groupId>org.beanshell</groupId>          <artifactId>bsh</artifactId>          <version>2.0b4</version>       </dependency>       <dependency>          <groupId>beartool</groupId>          <artifactId>md5</artifactId>          <version>1.0.0</version>       </dependency>       <dependency>          <groupId>emayclient</groupId>          <artifactId>emayclient</artifactId>          <version>1.0.0</version>       </dependency>       <!--qq,sinaweibo -->       <dependency>          <groupId>qq-connect</groupId>          <artifactId>qq-connect</artifactId>          <version>1.0.0</version>          <classifier>no-codec</classifier>       </dependency>       <dependency>          <groupId>sina.weibo</groupId>          <artifactId>sina_weibo</artifactId>          <version>0.0.1</version>       </dependency>       <dependency>          <groupId>javassist</groupId>          <artifactId>javassist</artifactId>          <version>3.12.0.GA</version>       </dependency>       <!--edm-->       <dependency>          <groupId>redm</groupId>          <artifactId>redm-client-prnasia-services</artifactId>          <version>1.0</version>       </dependency>       <dependency>          <groupId>redm</groupId>          <artifactId>redm-server</artifactId>          <version>2.0</version>       </dependency>       <!--webserviceaxis2-->       <dependency>          <groupId>org.apache.ws.commons.axiom</groupId>          <artifactId>axiom-api</artifactId>          <version>1.2.10</version>       </dependency>       <dependency>          <groupId>org.apache.ws.commons.axiom</groupId>          <artifactId>axiom-impl</artifactId>          <version>1.2.10</version>       </dependency>       <dependency>          <groupId>org.apache.axis2</groupId>          <artifactId>axis2-kernel</artifactId>          <version>1.4.1</version>          <exclusions>             <exclusion>                <groupId>javax.servlet</groupId>                <artifactId>servlet-api</artifactId>             </exclusion>             <exclusion>                <artifactId>httpcore-nio</artifactId>                <groupId>org.apache.httpcomponents</groupId>             </exclusion>          </exclusions>       </dependency>       <dependency>          <groupId>org.apache.axis2</groupId>          <artifactId>axis2-adb</artifactId>          <version>1.4.1</version>       </dependency>       <dependency>          <groupId>backport-util-concurrent</groupId>          <artifactId>backport-util-concurrent</artifactId>          <version>3.1</version>       </dependency>       <dependency>          <groupId>org.apache.neethi</groupId>          <artifactId>neethi</artifactId>          <version>2.0.2</version>       </dependency>       <dependency>          <groupId>wsdl4j</groupId>          <artifactId>wsdl4j</artifactId>          <version>1.6.2</version>       </dependency>       <dependency>          <groupId>org.apache.ws.commons.schema</groupId>          <artifactId>XmlSchema</artifactId>          <version>1.4.2</version>       </dependency>       <!--redisclient-->       <dependency>          <groupId>redis.clients</groupId>          <artifactId>jedis</artifactId>          <version>2.0.0</version>       </dependency>       <dependency>          <groupId>org.springframework.data</groupId>          <artifactId>spring-data-redis</artifactId>          <version>1.0.0.RELEASE</version>       </dependency>       <dependency>          <groupId>com.thoughtworks.xstream</groupId>          <artifactId>xstream</artifactId>          <version>1.3.1</version>       </dependency>       <dependency>          <!--jsoupHTMLparserlibrary@http://jsoup.org/-->          <groupId>org.jsoup</groupId>          <artifactId>jsoup</artifactId>          <version>1.5.2</version>       </dependency>       <dependency>          <groupId>org.aspectj</groupId>          <artifactId>aspectjweaver</artifactId>          <version>1.6.12</version>       </dependency>       <dependency>          <groupId>commons-codec</groupId>          <artifactId>commons-codec</artifactId>          <version>1.9</version>       </dependency>       <dependency>          <groupId>com.alibaba</groupId>          <artifactId>fastjson</artifactId>          <version>1.1.31</version>       </dependency>       <!--   <dependency>        <groupId>htz</groupId>        <artifactId>jzsms</artifactId>        <version>6.0</version>        </dependency>          -->    </dependencies>    <build>       <plugins>          <plugin>             <groupId>org.eclipse.jetty</groupId>             <artifactId>jetty-maven-plugin</artifactId>             <version>9.2.4.v20141103</version>             <!--ref:http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html-->             <configuration>                <httpConnector>                   <port>80</port>                </httpConnector>             </configuration>          </plugin>          <!--<plugin>             <groupId>org.jasig.mojo.jspc</groupId>             <artifactId>jspc-maven-plugin</artifactId>             <version>2.0.0</version>             <executions>                <execution>                   <goals>                      <goal>compile</goal>                   </goals>                </execution>             </executions>             <configuration>                <source>1.7</source>                <target>1.7</target>             </configuration>             <dependencies>                <dependency>                   <groupId>org.jasig.mojo.jspc</groupId>                   <artifactId>jspc-compiler-tomcat7</artifactId>                   <version>2.0.0</version>                </dependency>             </dependencies>          </plugin>-->       </plugins>    </build>    <repositories>       <repository>          <id>nexus</id>          <url>http://10.144.183.125:8081/nexus/content/groups/public</url>       </repository>    </repositories> </project> 只要是有依赖关系以及父工程都倒了呀: 难道是版本号有问题?我只有从头把maven看一遍了 把validate关了先...为何不直接贴错误信息,而是给一个包目录给我们看啥 com.github.diamond.client.ConfigurationRuntimeException 这个错误是一个开源项目的错误,远程加载配置文件的服务,你先看看你们内网这太机器的服务起来没有. 去找下这个项目,把服务起来,这个错误就不会有了. 话说这个项目还不错,主动推送配置文件给客户端,客户端连接不上服务端还可以调用本地缓存的. 嗯,我去问一下运维的知不知道com.github.diamond.client.ConfigurationRuntimeException相关的服务器 搞p2p?都溜了你去填坑么。 贴报错。本地配置maven环境。查看jar包是否完整了。没有显式缺少jar包,js校验之类的还在出红叉。本地仓库都1.8G了 使用传统添加Servers方式运行所报的错: SEVERE:Exceptionsendingcontextinitializedeventtolistenerinstanceofclasscom.htz.config.HtzContextLoaderListenerjava.lang.ExceptionInInitializerError   atcom.htz.config.Global.<clinit>(Global.java:63)   atcom.htz.config.HtzContextLoaderListener.contextInitialized(HtzContextLoaderListener.java:43)   atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)   atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)   atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)   atorg.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)   atorg.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)   atjava.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)   atjava.util.concurrent.FutureTask.run(FutureTask.java:166)   atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)   atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)   atjava.lang.Thread.run(Thread.java:722)Causedby:com.github.diamond.client.ConfigurationRuntimeException:本地没有备份配置数据,PropertiesConfiguration初始化失败。   atcom.github.diamond.client.PropertiesConfiguration.connectServer(PropertiesConfiguration.java:117)   atcom.github.diamond.client.PropertiesConfiguration.<init>(PropertiesConfiguration.java:54)   atcom.github.diamond.client.OverridablePropertiesConfiguration.<init>(OverridablePropertiesConfiguration.java:9)   atcom.htz.common.HtzConfig.<init>(HtzConfig.java:19)   atcom.htz.common.HtzConfig.fromClasspath(HtzConfig.java:50)   atcom.htz.common.HtzConfig.fromClasspath(HtzConfig.java:46)   athtz.core.common.Global.<clinit>(Global.java:18)   ...12moreCausedby:com.github.diamond.client.ConfigurationRuntimeException:本地没有备份配置数据,PropertiesConfiguration初始化失败。   atcom.github.diamond.client.PropertiesConfiguration.connectServer(PropertiesConfiguration.java:87)   ...18more四月22,201611:10:54上午org.apache.catalina.core.StandardContextstartInternalSEVERE:ErrorlistenerStart四月22,201611:10:54上午org.apache.catalina.core.StandardContextstartInternalSEVERE:Context[/htz]startupfailedduetopreviouserrors四月22,201611:10:54上午org.apache.catalina.loader.WebappClassLoaderclearReferencesThreadsSEVERE:Thewebapplication[/htz]appearstohavestartedathreadnamed[ClientReconnectTimer-thread-1]buthasfailedtostopit.Thisisverylikelytocreateamemoryleak.四月22,201611:10:54上午org.apache.catalina.loader.WebappClassLoaderclearReferencesThreadsSEVERE:Thewebapplication[/htz]appearstohavestartedathreadnamed[pool-1-thread-1]buthasfailedtostopit.Thisisverylikelytocreateamemoryleak.四月22,201611:10:54上午org.apache.catalina.loader.WebappClassLoadercheckThreadLocalMapForLeaksSEVERE:Thewebapplication[/htz]createdaThreadLocalwithkeyoftype[java.lang.ThreadLocal](value[java.lang.ThreadLocal@323b0ead])andavalueoftype[io.netty.util.internal.InternalThreadLocalMap](value[io.netty.util.internal.InternalThreadLocalMap@4340999e])butfailedtoremoveitwhenthewebapplicationwasstopped.Threadsaregoingtoberenewedovertimetotryandavoidaprobablememoryleak.四月22,201611:10:54上午org.apache.catalina.loader.WebappClassLoadercheckThreadLocalMapForLeaksSEVERE:Thewebapplication[/htz]createdaThreadLocalwithkeyoftype[java.lang.ThreadLocal](value[java.lang.ThreadLocal@323b0ead])andavalueoftype[io.netty.util.internal.InternalThreadLocalMap](value[io.netty.util.internal.InternalThreadLocalMap@46257690])butfailedtoremoveitwhenthewebapplicationwasstopped.Threadsaregoingtoberenewedovertimetotryandavoidaprobablememoryleak.四月22,201611:10:54上午org.apache.coyote.AbstractProtocolstartINFO:StartingProtocolHandler["http-bio-8080"]四月22,201611:10:54上午org.apache.coyote.AbstractProtocolstartINFO:StartingProtocolHandler["ajp-bio-8009"]四月22,201611:10:54上午org.apache.catalina.startup.CatalinastartINFO:Serverstartupin9752ms四月22,201611:10:56上午org.apache.catalina.loader.WebappClassLoaderloadClassINFO:Illegalaccess:thiswebapplicationinstancehasbeenstoppedalready. Couldnotloadio.netty.util.concurrent.DefaultPromise$2. Theeventualfollowingstacktraceiscausedbyanerrorthrownfordebuggingpurposesaswellastoattempttoterminatethethreadwhichcausedtheillegalaccess,andhasnofunctionalimpact.java.lang.IllegalStateException   atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1610)   atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)   atio.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:589)   atio.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:397)   atio.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:155)   atjava.lang.Thread.run(Thread.java:722)Exceptioninthread"pool-1-thread-1"java.lang.NoClassDefFoundError:io/netty/util/concurrent/DefaultPromise$2   atio.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:589)   atio.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:397)   atio.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:155)   atjava.lang.Thread.run(Thread.java:722)Causedby:java.lang.ClassNotFoundException:io.netty.util.concurrent.DefaultPromise$2   atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)   atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)   ...4more使用jetty:run方式所报的错误:      使用jetty:run方式运行,报的错误(太长我去掉了一些重复的): [INFO]NoSpringWebApplicationInitializertypesdetectedonclasspath2016-04-2211:14:56ERROR[main](com.github.diamond.client.netty.Netty4Client.java:141)Failedconnecttoserverlocalhost:8283fromNetty4Client169.254.166.1712016-04-2211:14:56INFO[main](com.github.diamond.client.netty.Netty4Client.java:71)StartNetty4ClientLuo/169.254.166.171connecttotheserverlocalhost[WARNING]FAILEDo.e.j.m.p.JettyWebAppContext@473cf652{/,file:/D:/HuiTouZi/GZ-worksppace/htz/src/main/webapp/,STARTING}{file:/D:/HuiTouZi/GZ-worksppace/htz/src/main/webapp/}:java.lang.ExceptionInInitializerErrorjava.lang.ExceptionInInitializerError   atcom.htz.config.Global.<clinit>(Global.java:63)   atcom.htz.config.HtzContextLoaderListener.contextInitialized(HtzContextLoaderListener.java:43)   atorg.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:798)   atorg.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)   atorg.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:789)   atorg.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)   atorg.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1343)   atorg.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:296)   atorg.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1336)   atorg.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)   atorg.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)   atorg.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:365)   atorg.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)   atorg.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)   atorg.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)   atorg.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)   atorg.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)   atorg.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)   atorg.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)   atorg.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)   atorg.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)   atorg.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)   atorg.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)   atorg.eclipse.jetty.server.Server.start(Server.java:387)   atorg.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)   atorg.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)   atorg.eclipse.jetty.server.Server.doStart(Server.java:354)   atorg.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:73)   atorg.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)   atorg.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:534)   atorg.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:357)   atorg.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)   atorg.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)   atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)   atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)   atorg.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)   atorg.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)   atorg.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)   atorg.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)   atorg.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)   atorg.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)   atorg.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)   atorg.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)   atorg.apache.maven.cli.MavenCli.execute(MavenCli.java:863)   atorg.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)   atorg.apache.maven.cli.MavenCli.main(MavenCli.java:199)   atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)   atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   atjava.lang.reflect.Method.invoke(Method.java:601)   atorg.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)   atorg.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)   atorg.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)   atorg.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)Causedby:com.github.diamond.client.ConfigurationRuntimeException:本地没有备份配置数据,PropertiesConfiguration初始化失败。   atcom.github.diamond.client.PropertiesConfiguration.connectServer(PropertiesConfiguration.java:117)   atcom.github.diamond.client.PropertiesConfiguration.<init>(PropertiesConfiguration.java:54)   atcom.github.diamond.client.OverridablePropertiesConfiguration.<init>(OverridablePropertiesConfiguration.java:9)   atcom.htz.common.HtzConfig.<init>(HtzConfig.java:19)   atcom.htz.common.HtzConfig.fromClasspath(HtzConfig.java:50)   atcom.htz.common.HtzConfig.fromClasspath(HtzConfig.java:46)   athtz.core.common.Global.<clinit>(Global.java:18)   ...54more FAILEDorg.eclipse.jetty.server.handler.HandlerCollection@210ea83d[org.eclipse.jetty.server.handler.ContextHandlerCollection@7ec0c236[o.e.j.m.p.JettyWebAppContext@473cf652{/,file:/D:/HuiTouZi/GZ-worksppace/htz/src/main/webapp/,STARTING}{file:/D:/HuiTouZi/GZ-worksppace/htz/src/main/webapp/}],org.eclipse.jetty.server.handler.DefaultHandler@49474dbf,org.eclipse.jetty.server.handler.RequestLogHandler@68415c2e]:java.lang.ExceptionInInitializerError  FAILEDorg.eclipse.jetty.maven.plugin.JettyServer@580bdd96:java.lang.ExceptionInInitializerError  Failedtoexecutegoalorg.eclipse.jetty:jetty-maven-plugin:9.2.4.v20141103:run(default-cli)onprojecthtz:Executiondefault-cliofgoalorg.eclipse.jetty:jetty-maven-plugin:9.2.4.v20141103:runfailed:AnAPIincompatibilitywasencounteredwhileexecutingorg.eclipse.jetty:jetty-maven-plugin:9.2.4.v20141103:run:java.lang.ExceptionInInitializerError:null

爱吃鱼的程序员 2020-06-09 15:42:40 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站