我在tomcat 7上部署了一个Web应用程序.它的上下文文件名为myAppName.xml位于
$CATALINA_HOME/conf/Catalina/localhost folder.
我面临的问题是每次覆盖或取消部署时,我的配置文件都从$CATALINA_HOME/conf/Catalina/localhost文件夹中删除,我必须复制/粘贴它从备份位置.
我该如何防止这种行为?每次我在webapp中更改内容时,我都不想复制/粘贴上下文文件.
我在java上为tomcat应用服务器编写了一个简单的JAX-WS Web服务.
我有一个接口和实现类:
接口
@WebService(name = "myWs")
@SOAPBinding(style = Style.RPC)
public interface IMyWs {
@WebMethod(operationName = "getUser")
Response getUser(@WebParam(name = "phone", mode = Mode.IN) String phone);
}
Run Code Online (Sandbox Code Playgroud)
履行
@WebService(endpointInterface = "ge.mari.IMyWs")
public class MyWs implements IMyWs {
@Override
public Response getUser(String phone) {
// SOME CODE
return response;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在我的wsdl文件中,Response类是在xsd文件中定义的.
这是我的wsdl文件的片段
<types>
<xsd:schema>
<xsd:import namespace="http://ws.mari.ge/" schemaLocation="http://localhost:8080/MyServcie/MyWs?xsd=1">
</xsd:import>
</xsd:schema>
</types>
Run Code Online (Sandbox Code Playgroud)
如何使Web服务生成WSDL文件中的所有类型而不是单独的XSD文件?
我应该更改任何配置或添加一些注释到我的Web服务?
我正在编写监控软件,其中大部分逻辑都在Oracle databasen和pl/sql中.
当我的监控被调用时,它应该警告问题.例如,它应警告问题,如果
1.在星期五22:00至23:00每小时
运行少于2次操作.在1月31日的每分钟运行少于5次. 22:00-23:00
3.从10:00到12:00,每天每分钟操作不到3次如果我的监控在1月31日22:30召唤,我应该将我的操作号码与5.
4.如果操作少于5次,则每分钟从星期五22:00到星期一15:00
我在考虑用数据库中的cron表达式格式保存数据周期.在这种情况下,我必须将SYSDATE(监视函数的当前调用日期)与保存在数据库中的cron表达式进行比较.
我的问题:
1.如何判断SYSDATE是否属于cron表达式?
2.在这种情况下使用cron表达式是否正确?你能否建议任何其他节省时间的方法.
我正在写一个AngularJS SPA应用程序,它调用Rest完整的Web服务.后端正在编写JAX-RS,部署在上面Tomcat 7.我使用的是HTTPS, SSL从数据传输SPA到JAX-RS
要求
问题
我认为进行LDAP身份验证有两种选择:
管理用户会话.一旦用户通过身份验证,就应将其保存在某处,以便用户可以在其登录未到期之前执行操作.我该怎么做?
我应该选择哪种方式?我该如何进行LDAP身份验证和会话管理?
任何人都可以提供任何建议或示例链接吗?
ldap jax-rs spring-security angularjs single-page-application
我有一个项目,我应该开发一个移动应用程序(android)和一个网站.由于它们都具有相同的数据库/内容和功能,我想为移动和Web应用程序编写通用服务器端.
现在我有两个选择:
在我的Android应用程序和网站(HTML/Javascript)将与之通信的服务器端开发RESTful Web服务.我认为这不适合网站开发,因为您在页面加载时使用javascript填充所有HTML组件值.
使用MVC框架(例如CodeIgniter)开发Web应用程序,其中每个页面将具有两个视图:
a)用于Web站点的公共HTML/CSS/Javascript页面
b)用于移动应用程序的JSON数据.在这种情况下,移动应用程序将对URL进行HTTP GET调用:www.mySite/someParameters,它将响应JSON数据.
哪一个更好选择?
或者,您还有其他建议吗?
architecture web-applications server-side software-design mobile-application
我有一个Java Web服务方法getCardInformation,可Oracle使用从数据库获取数据JDBC。每秒大约进行300个呼叫。
Java将其称为pl / sql函数:
PROCEDURE GET_CARDS_BY_ID(p_card_id IN NUMBER
,o_result OUT VARCHAR2) IS
BEGIN
SELECT 'some data'
INTO o_result
FROM 'my complicated SQL' c
WHERE c.card_id = p_card_id;
END GET_CARDS_BY_ID;
Run Code Online (Sandbox Code Playgroud)
通常SQL Select statement/procedure在30毫秒内返回结果,但有时有时需要20秒钟以上,而所有其他线程(调用)都在等待此延迟的调用。尽管这些调用没有相互连接,但是它们在SQL Select statement不同的输入参数下运行相同。所有参数都是使用Java从Java设置的bind variables。
在延迟期间,我们选择了活动会话并获得了很多游标:引脚S等待X
SELECT DISTINCT a.*, s.*
FROM V$ACTIVE_SESSION_HISTORY a
,v$sql s
WHERE a.sql_id = s.sql_id
AND blocking_session IS NOT NULL
AND a.sample_time > sysdate - 1
Run Code Online (Sandbox Code Playgroud)
我们通过添加hint到中解决了该问题Select。我们认为,在此延迟期间,Oracle试图对此进行解析Select …
我有Jaxws Soap网络服务.我的"myMethod"方法有一个十进制类型字段.
这是我的Web服务界面:
@WebService(name = "myWs", targetNamespace = "someNamespace")
@Local
public interface myWsPortType {
@WebMethod
@RequestWrapper(localName = "myMethod", className = "com.example.MyMethodRequest")
public Result myMethod(@WebParam(name = "parameters", mode = Mode.IN) MyMethodParameters parameters);
}
Run Code Online (Sandbox Code Playgroud)
这是参数类
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType()
public class MyMethodParameters implements java.io.Serializable {
@FieldValidation(maxLength = 12)
@XmlElement(name = "myField", required = false)
private java.math.BigDecimal myField;
}
Run Code Online (Sandbox Code Playgroud)
当我在myField中传递正确的数据类型时,一切正常.
但是,问题是当我调用myMethod并传递String值(而不是Decimal)作为参数时,不会抛出异常并且myField的值为null
这是Soap Request示例
<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
<iss:myMethod>
<parameters>
<myField>test</myField>
</parameters>
</iss:myMethod>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
当传递不正确的数据类型时,如何让我的w抛出异常?
我正在开发Java,Spring,JDBC上的Web应用程序,它部署在Tomcat 7上.我正在使用私钥对数据源密码进行加密/解密.
现在我将这个私钥用Java代码硬编码.但我必须将私钥保存在更安全的地方.我怎样才能做到这一点?
生成证书(密钥库,密钥对),在tomcat上安装并从java代码中检索这些数据是一个好主意吗?
我正在创建广告系统,应该在ATM上显示.目前,我必须建立一个数据库结构,用于存储广告,ATM和客户合规性.
广告系统必须根据ATM和客户选择广告.
关键是客户没有严格定义.它可以使用其任何属性(卡号,帐户,客户端ID,客户端年龄等)进行过滤.例如:
如何将这些数据存储在关系数据库中?
我有一个解决方案,但我不喜欢它,我会创建一个表,SQL将保存原因.例如:
广告表
Adv_ID
Terminal_ID
状态(值可以是:允许/拒绝)
规则(这里将写入SQL过滤器,例如:"卡像'1111%'和client_id!= 10230")
screen_id(必须在哪个页面上显示此adv )订单(优先级)
你有什么其他的建议?
我有在JAVA(版本1.8)上编写的Web服务,它连接HSM并通过套接字发送/接收数据.我的应用程序部署在Apache Tomcat/8.5.14上面linux.
虽然我正在关闭套接字连接,但我有
java.net.SocketException:打开的文件太多
这是myclass
public class myClass implements AutoCloseable {
Socket socket;
DataInputStream in;
DataOutputStream out;
public myClass(String ip, int port) throws Exception {
try {
socket = new Socket(ip, port);
in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
} catch (IOException e) {
throw new Exception("Connecting to HSM failed" + e);
}
}
public String sendCommandToHsm(String command) throws IOException {
out.writeUTF(command);
out.flush();
return in.readUTF();
}
@Override
public void close() {
if (socket …Run Code Online (Sandbox Code Playgroud) 我有几个Oracle数据库,我的内部应用程序正在运行.这些应用程序使用dba_jobs和dba_scheduler_jobs.
我想编写监控功能:check_my_jobsNagios会定期调用它来检查我的工作是否一切正常.(它们正在运行吗?它是否已损坏?next_run_date是否已延迟?依此类推)
解决方案:由于我必须监视不同数据库上的作业,因此有两种实现解决方案的方法:
仅在一个数据库上创建监视功能和配置表,该数据库将使用数据库链接检查每个数据库上的作业.
优点:集中功能,易于维护.
缺点:我必须使用数据库链接进行检查.
在我想要检查作业的每个数据库上创建监视功能和配置表.
专业人士:我不必使用数据库链接
缺点:每个数据库上都有重复的监控代码
哪种解决方案更好?
我们的开发人员团队使用Maven来构建软件。我们的计算机上有Maven本地存储库。问题在于,有时由两个不同的开发人员进行的构建会有所不同,因为构建的软件包包括所包含依赖项的不同版本。
如果在POM.xml文件中未提及版本标签以获取依赖项,则会发生这种情况。例如:
<dependency>
<groupId>mylib-group</groupId>
<artifactId>mylib-artifact</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Maven将获取本地安装的最新库。
为避免此问题,我们将Maven安装在一台计算机(我们称为Build服务器)上,我们团队的所有成员都在该计算机上进行构建。
对于这种情况有更好的解决方案吗?
我怎样才能在本地集中Maven?
我想使用 INSERT 语句在 Oracle 12 数据库中插入 UTF-8 字符。我正在使用 PL/SQL Developer Tool(版本 8)。
\n\n当我运行此 INSERT 语句时
\n\nINSERT INTO my_table (my_column) VALUES ('\xe1\x83\xa2\xe1\x83\x94\xe1\x83\xa5\xe1\x83\xa1\xe1\x83\xa2\xe1\x83\x98');\nRun Code Online (Sandbox Code Playgroud)\n\n然后运行 SELECT 语句
\n\nSELECT my_column FROM my_table\nRun Code Online (Sandbox Code Playgroud)\n\n它返回问号
\n\n??????\nRun Code Online (Sandbox Code Playgroud)\n\n但是,当我将 UTF-8 文本手动(使用复制和粘贴)插入表中,然后运行相同的 SELECT 语句时,它会正确返回数据
\n\n\xe1\x83\xa2\xe1\x83\x94\xe1\x83\xa1\xe1\x83\xa5\xe1\x83\xa2\xe1\x83\x98\nRun Code Online (Sandbox Code Playgroud)\n\n在使用 insert 语句插入 UTF-8 字符之前我应该运行任何命令吗?
\njava ×6
oracle ×5
plsql ×3
datasource ×2
jax-ws ×2
monitoring ×2
ads ×1
angularjs ×1
architecture ×1
bigdecimal ×1
certificate ×1
database ×1
decimal ×1
deployment ×1
encoding ×1
exception ×1
jax-rs ×1
jobs ×1
keystore ×1
ldap ×1
linux ×1
local ×1
maven ×1
maven-3 ×1
performance ×1
private-key ×1
repository ×1
server-side ×1
soap ×1
sockets ×1
sql ×1
time ×1
tomcat ×1
tomcat7 ×1
utf-8 ×1
web-services ×1
wsdl ×1