webservice 项目中遇到的问题
redshift database 连接异常

解决方案
url 修改添加参数如下
jdbc:redshift://hostname:5439/dbname?ssl=true&sslfactory=com.amazon.redshift.ssl.NonValidatingFactory
java 8 lambda 表达式应用
// 拆分 参数并去左右空格
public static List<String> splitStr2List(String params,String delimeter){
return Arrays.asList(params.split(delimeter)).stream().map(param->param.trim()).collect(Collectors.toList());
}
spring 中一个接口多个实现类注入
1. 首先, Interface1 接口有两个实现类 Interface1Impl1 和 Interface1Impl2
Interface1 接口:
package com.example.service;
/**
* Created by liuzh on 2018-05-29.
* 接口1
*/
public interface Interface1 {
void fun1();
}
以下是接口的两个实现类,请注意@service注解的使用方式,这里给每个实现类标注了不同的名称,方便在@Resource注入时区别注入
Interface1 接口实现类1:
package com.example.service.impl;
import com.example.service.Interface1;
import org.springframework.stereotype.Service;
/**
* Created by liuzh on 2018-05-29.
*/
@Service("s1")
public class Interface1Impl1 implements Interface1 {
@Override
public void fun1() {
System.out.println("接口1实现类 ...");
}
public void fun2(){
System.out.println("接口1实现类1 fun2 ...");
}
}
20
Interface1 接口实现类2:
package com.example.service.impl;
import com.example.service.Interface1;
import org.springframework.stereotype.Service;
/**
* Created by liuzh on 2018-05-29.
*/
@Service("s2")
public class Interface1Impl2 implements Interface1 {
@Override
public void fun1() {
System.out.println("接口1实现类 ...");
}
public void fun2(){
System.out.println("接口1实现类2 fun2 ...");
}
}
2. 通过 @Autowired 和 @Qualifier 配合注入
@Autowired
@Qualifier("interface1Impl1")
Interface1 interface1; //正常启动
3. 使用@Resource注入,根据默认类名区分
@Resource(name = "interface1Impl1")
Interface1 interface1; //正常启动
4. 使用@Resource注入,根据@Service指定的名称区分
@Resource(name = "s1")
Interface1 interface1; //正常启动
使用@Resource注入,根据@Service指定的名称区分,可以避免多个实现类在不同包下,但是类名相同的情况。
最近项目需要添加 SSO ,webservice 也难逃一劫,所以这里用上 拦截器做 SSO 拦截
package com.middleplugin.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SSOInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
return false;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
package com.middleplugin.interceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@EnableWebMvc
@Configuration
public class AdapterConfig extends WebMvcConfigurerAdapter {
@Bean
SSOInterceptor ssoInterceptor(){
return new SSOInterceptor();
}
public void addInterceptors(InterceptorRegistry registry){
// 多个拦截器组成一个拦截器链
// addPathPatterns 用于添加拦截规则
// excludePathPatterns 用户排除拦截
registry.addInterceptor( ssoInterceptor()).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
构造访问请求命令, 便于 工作
for query_string in ['colon cancer, NTRK1, NTRK2, NTRK3',
'colon cancer NTRK1 NTRK2 NTRK3',
'breast cancer patients who are at least 18 years old',
'breast cancer 18 years or older','breast cancer patients age 70 to 80',
'pancreatic cancer patients age 80 or older',
'patients with breast cancer, gene mutation NTRK1, NTRK2, NTRK3, and do not have larotrectinib',
'patients with breast cancer, gene mutation NTRK1, NTRK2, NTRK3, and no larotrectinib',
'colon cancer patient with overall survival over 18 months','colon cancer patient with overall survival more than 18 months',
'colon cancer patient with karnofsy > 60%','colon cancer patient with karnofsy greater than 60%']:
template = """ curl -v -H 'Content-Type: application/json' -X POST -d '$"query_string":"{}"@' http://localhost:5000/v1/nlpquery/get """.format(query_string)
template = template.replace(r'$','{').replace(r'@','}')
print(template)
webservice 项目中遇到的问题的更多相关文章
- 在web项目中使用cxf开发webservice,包含spring支持
本文主要介绍了,如何使用cxf内置的例子,学会开发webserivce,在web项目中使用,且包含spring支持. webserivce的开发可以使用cxf或者axis,好像还有httpclient ...
- 在java项目中使用webservice
今天学习webservice,主要参考了网络上的一些文章. 1.关于原理的介绍:个人认为这篇文章写得不错了,戳这里. 2.关于demo的编写:个人认为这篇文章很简洁,也能运行成功,戳这里. 按照上面那 ...
- java web项目(spring项目)中集成webservice ,实现对外开放接口
什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...
- JAVA项目中公布WebService服务——简单实例
1.在Java项目中公布一个WebService服务: 怎样公布? --JDK1.6中JAX-WS规范定义了怎样公布一个WebService服务. (1)用jdk1.6.0_21以后的版本号公布. ( ...
- 如何在SpringMVC项目中部署WebService服务并打包生成客户端
场景 某SpringMVC项目原本为一个HTTP的WEB服务项目,之后想在该项目中添加WebService支持,使该项目同时提供HTTP服务和WebService服务.其中WebService服务通过 ...
- myeclipse构建webservice项目
新建server端 1 创建Web Service Project项目 2.项目名称:HelloWorldServer 3.创建接口类 4.发布 选择项目名称,选择从Java类中构建web servi ...
- 转 web项目中的web.xml元素解析
转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45) 阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...
- Axis2在Web项目中整合Spring
一.说明: 上一篇说了Axis2与Web项目的整合(详情 :Axis2与Web项目整合)过程,如果说在Web项目中使用了Spring框架,那么又改如何进行Axis2相关的配置操作呢? 二.Axis2 ...
- 如何查看.Net源代码vs版本号以及C#项目中各文件的含义
查看.Net源代码vs版本号以及C#项目中各文件的含义 用记事本打开vs项目的.sln文件. 第2行就是这个源代码包的开发软件vs版本号了 注意了,如果是vs2003的sln文件通常没有这行,可以判断 ...
随机推荐
- new Date()导致日期增加了一天
问题是:将字符串 "Sun Nov 12 14:00:00 CST 2017" 转成Date类型 有一个简单的方法是直接使用new Date(),但是这个方法对于某些日期的计算, ...
- 平衡树splay学习笔记#2
讲一下另外的所有操作(指的是普通平衡树中的其他操作) 前一篇的学习笔记连接:[传送门],结尾会带上完整的代码. 操作1,pushup操作 之前学习过线段树,都知道子节点的信息需要更新到父亲节点上. 因 ...
- PyCharmMarkdown插件的方法
arkdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 从github下载的代码一般都会带有README.md文件,该文件是一个Markdo ...
- 152. Maximum Product Subarray 以及 讨论【最大连续子序列】
题目大意: 连续最大子段积 题目思路: 最大值只能产生在一个正数x一个正数,一个负数乘一个负数,所以维护两个值,一个区间最大值,一个最小值 其他的话: 在讨论这个问题之前,我先来说一说大一刚开学就学了 ...
- 合法括号序列(dp+组合数学)
键盘上有左括号(,右括号),和退格键-,共三个键. 牛牛希望按键n次,使得输入的字符串恰好一个合法的括号序列. 每按一次左括号(,字符串末尾追加一个左括号( 每按一次右括号),字符串末尾追加一个右括号 ...
- Zabbix3.4监控平台部署
环境依赖 CentOS 7.3 + PHP5.4 + MariaDB + Nginx Zabbix Server 3.4.1 环境要求 12 CPU ,最少8 CPU 32G 内存,最少16G 1T ...
- 树状数组入门 hdu1541 Stars
树状数组 树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构.主要用于查询任意两位之间的所有元素之和,但是每次 ...
- request.getRequestDispatcher 页面跳转,样式丢失。
在页面中引用样式和其它资源的时候,尽量不要用相对路径,因为"当前路径"这个概念在J2EE中是不稳定的. 所以最好都是绝对路径,类似于: <% String cp = requ ...
- [CTSC2010]珠宝商 SAM+后缀树+点分治
[CTSC2010]珠宝商 不错的题目 看似无法做,n<=5e4,8s,根号算法? 暴力一: n^2,+SAM上找匹配点的right集合sz,失配了直接退出 暴力二: O(m) 统计过lca=x ...
- MVC aspx
客户端服务器---Model(模型)---View(视图)---Control(控制器) 1.ASP.NET MVC 2.新建项目引擎选aspx.在Controllers创建控制器,默认启动Home ...