我有推送通知的问题.我有一个由团队成员创建的p.12证书,我有设备令牌,可以将设备推送到.我正在使用javapns库来执行推送(也尝试了相同结果的javaapns lib)但我一直收到此错误:
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.OutputStream.write(OutputStream.java:58)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:402)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:350)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:320)
at javapns.Push.sendPayload(Push.java:177)
at javapns.Push.combined(Push.java:100)
at PushTest.push(PushTest.java:43)
at PushTest.main(PushTest.java:25)
Run Code Online (Sandbox Code Playgroud)
这是我用来测试的代码
try {
List<PushedNotification> n = Push.combined(text, 20, null, file, "********", false, token);
for (PushedNotification notification : n) {
if (notification.isSuccessful())
System.out.println("Push notification sent successfully to: " + notification.getDevice().getToken());
else {
String invalidToken = notification.getDevice().getToken();
Exception theProblem = notification.getException();
theProblem.printStackTrace();
ResponsePacket theErrorResponse = …
Run Code Online (Sandbox Code Playgroud) 我有一个servlet,它读取init()上的.properties文件.我的代码(不是下面的代码)可以工作,如果我在我的web.xml中设置了一个context-parameter,但我读到一个context-parameter是全局可访问的,我不希望这个,因为这个servlet只是一个更大的一块Web应用程序.我只是希望能够使用我试过的init-param标签来做到这一点:
public void init(ServletConfig config) throws ServletException {
try {
String fileName = config.getInitParameter("configFile");
System.out.println(fileName);
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
p = new Properties();
p.load(fis);
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
但我一直得到文件未找到异常.我搜索过互联网,但大多数人都使用servlet上下文.如何在不在web.xml中包含context-param标记的情况下加载我的属性文件?
谢谢!
编辑:
java.io.FileNotFoundException: C:\WEB-INF\classes\myapp.properties (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at ipadService.ProxyServlet.init(ProxyServlet.java:53)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个程序,它应该读取目录中的许多csv文件,并对每个文件进行一些分析.我有这些功能:
# Function reads in files and saves data into 2 dimensional array
def ReadInFiles(name):
try:
data = []
fname = csv.reader(open(name, 'r'))
#print 'read in file: ' + str(fname)
rowCount = 0
for row in fname:
if rowCount != 0: # skip headings
data.append(row)
rowCount += 1
#print name + ' ' + str(row) + ' read in successfully \n'
except IOError: "Can't read files"
return data
#Function reads in files in a folder
def ReadDirectory (dirName):
try:
Data …
Run Code Online (Sandbox Code Playgroud) 我有一个hashmap,我在一个while循环中插入一个arraylist作为值.在迭代期间,如果hashmap已经包含一个键,我想要检索已存储的arraylist,将新数据附加到它并将其放回到hashmap中.
我现在遇到的问题是,当我检查一个hashmap是否包含一个值时,返回的arraylist的大小为0,好像我以前从未输入过任何东西.
final HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
String status = "";
String channel = "";
while (daily.next()) {
while (avrg.next())
if (avrg.getString(1).equals(daily.getString(1)) && avrg.getString(2).equals(daily.getString(2))) {
final Object pstmnt = null;
final Object pstmnt2 = null;
final float thresholdValue = calcThreshold(pstmnt, pstmnt2, daily.getString(1));
channel = daily.getString("client_name");
if (daily.getFloat(3) > avrg.getFloat(3) + thresholdValue * avrg.getFloat(3)) {
status = "HIGHER";
}
else if (daily.getFloat(3) < avrg.getFloat(3) - thresholdValue * avrg.getFloat(3)) {
status = "LOWER";
}
else {
status = "Normal"; …
Run Code Online (Sandbox Code Playgroud)