2015/10/19

macbook proでSDカードリーダから書き込めない!

嫁が4ヶ月ほど前にiPad miniを買ったのだが、それに合わせてSDカードリーダを買った。
それを今更開封してセッティングしたのだが、これ以外と優れもの。

無線を搭載していて、アクセスポイントとして端末から読み書きができる。
しかも、ルータの無線につなげることも可能!

早速設定をしたのだが、macbookからもWebDevでアクセス可能と歌われていたというのに、接続はできても、書き込み時に固まる。。。

取り急ぎ、データの投入は本体付属のリーダーでできるからいいかと直接さして書き込みを実施しようとしたところ、今回の本題!

なんと、書き込みができず、なんだこりゃと。

フォーマットが原因かと、あとはLockでもかかっているのかとさんざん試したが相変わらず書き込み不可!

諦めかけながら、google先生に問い合わせを続けたところ、以下のサイトを発見!
http://kanonji.info/blog/2013/11/26/macbook-pro%E3%81%AEsd%E3%82%AB%E3%83%BC%E3%83%89%E3%82%B9%E3%83%AD%E3%83%83%E3%83%88%E3%81%A3%E3%81%A6%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%8C%E3%81%8B%E3%81%8B/

同様の症状で困っている人がおり、しかも原因は、macのlockの仕組みの仕様とカード自体の仕様があっていないことらしい。。。

記述があるとおり、Lockのスライドを少しだけLock気味の解除に設定してさしてみると、あら不思議。

普通に書き込めましたとさ。

さてさて、取り急ぎ書き込めたのだが、問題はWebDevでアクセスが不調の方。
こっちは全くわからず、しばらく調べようと思う。。。

中途半端だぞ!

2015/09/02

ちょっとメモ

定期的にjolokiaからデータを抜いてファイル出力するデーモンプログラムを作る必要に迫られたので作ってみた。

とりあえず、ソースぺたり。

package jp.shibadog.daemon;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import javax.management.MalformedObjectNameException;

import org.jolokia.client.J4pClient;
import org.jolokia.client.exception.J4pException;
import org.jolokia.client.request.J4pReadRequest;
import org.jolokia.client.request.J4pReadResponse;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.Option;

public class DaemonTool {

public static SimpleDateFormat sdf1 = new SimpleDateFormat(
"yyyy/MM/dd:HH:mm:ss");

@Option(name = "-c", aliases = "--config", usage = "コンフィグファイルの指定")
private String confPath = "";

public static void main(String[] args) {
DaemonTool dt = new DaemonTool();
dt.execute(args);
}

private void execute(String[] args) {

if (!init(args)) {
System.exit(1);
}

if (this.confPath != null && !"".equals(this.confPath)) {
JSONParser parser = new JSONParser();
String s = null;
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
this.confPath)));
StringBuilder sb = new StringBuilder();
String tmp = br.readLine();
while (tmp != null) {
sb.append(tmp);
tmp = br.readLine();
}
s = sb.toString();
System.out.println(s);
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}

Object obj;
try {
obj = parser.parse(s);
JSONObject json = (JSONObject) obj;
System.out.println("request-url=" + json.get("requestUrl"));
} catch (ParseException e1) {
// TODO 自動生成された catch ブロック
e1.printStackTrace();
}
}

ScheduledExecutorService service = Executors
.newSingleThreadScheduledExecutor();

J4pReadRequest req;
try {
req = new J4pReadRequest("java.lang:type=Memory", "HeapMemoryUsage");
req.setPath("used");
String urlRoot = "http://localhost:7001/jolokia-war-1.3.1";
String hostname = getHostName(urlRoot);

service.scheduleAtFixedRate(new ExecuteMBeanGetter(hostname, urlRoot, req),
0, 5, TimeUnit.SECONDS);
} catch (MalformedObjectNameException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} finally {

}
}

private boolean init(String[] args) {
boolean ret = false;
CmdLineParser parser = new CmdLineParser(this);

try {
// parse options
parser.parseArgument(args);

System.out.println("Starting application...");
System.out.println("Configuration   : " + confPath);
// System.out.println("Server mode : " + isServer);
// System.out.println("Destination : " + dst);

// your code
ret = true;
} catch (CmdLineException e) {
// print usage.
System.out.println(e);
parser.printUsage(System.out);
System.exit(1);
}
return ret;
}

public String getHostName(String urlRoot) {
String res = null;
J4pClient j4pClient = new J4pClient(urlRoot);
try {
J4pReadRequest req = new J4pReadRequest("java.lang:type=Runtime", "Name");
J4pReadResponse resp = j4pClient.execute(req);
String tmp = resp.getValue();
res = tmp.substring(tmp.indexOf("@") + 1);
} catch (J4pException | MalformedObjectNameException e) {
System.out.println(e);
e.printStackTrace();
}
return res;
}

class ExecuteMBeanGetter implements Runnable {
private J4pReadRequest req;
private String urlRoot;
private String hostname;

public ExecuteMBeanGetter(String hostname, String urlRoot2, J4pReadRequest req2) {
setUrlRoot(urlRoot2);
setReq(req2);
setHostname(hostname);
}

@Override
public void run() {
J4pClient j4pClient = new J4pClient(getUrlRoot());
try {
J4pReadResponse resp = j4pClient.execute(getReq());
System.out
.println(DaemonTool.sdf1.format(resp.getRequestDate())
+ "," + getHostname() + "," + resp.getValue());
} catch (J4pException e) {
System.out.println(e);
e.printStackTrace();
}
}

public J4pReadRequest getReq() {
return req;
}

private void setReq(J4pReadRequest req) {
this.req = req;
}

public String getUrlRoot() {
return urlRoot;
}

private void setUrlRoot(String urlRoot) {
this.urlRoot = urlRoot;
}

public String getHostname() {
return hostname;
}

public void setHostname(String hostname) {
this.hostname = hostname;
}

}
}

2015/08/31

weblogicのコマンド操作(アンデプロイ)

さてさて、無事weblogicがインストールできたわけだが、今回の目的というのも、weblogic serverにjolokiaをデプロイしたら、いろいろ壊れて大変なことになったのでそれを直すため環境を作って調べているわけなのだ。

まずは、jolokiaとweblogicは相性が悪いのか?というところから確認。

。。。普通にデプロイできるし見えるじゃん。

では次に、壊れちゃったweblogicを修復するためにweblogicのコマンドからアンデプロイの手段を調べる。

コマンドの公式リファレンスはこちら。
http://otndnld.oracle.co.jp/document/products/wls/docs92/deployment/wldeployer.html#wp1008316

さてはて、どうやら、Java上で動くweblogic.Deployerというものが存在するらしい。
このツールはオプションで接続情報を設定し、サブコマンドでいろいろ操作ができるというものの様子。

では早速、アンデプロイのコマンドはどんなものになるかというと。

java weblogic.Deployer -adminurl http://localhost:7001 -username weblogic -passowerd weblogic -stop jolokia
java weblogic.Deployer -adminurl http://localhost:7001 -username weblogic -passowerd weblogic -undeploy jolokia

という感じらしい。

という感じらしい、というのも、weblogic.Deployerが見つからずうまく動いてくれないため確認できなかったからである(ぉ

でも、調べているうちに、コマンドの使い方がわかったので、一旦OKとしようと思う。

この甘さ加減が問題だな。

以上。

MacOSのJDKインストール場所

ひっさしぶりに投稿。

といっても大した話ではなく。

MacでJDKのインストール場所がわからないという、超初歩的な話。


/Library/Java/JavaVirtualMachines

上記パス配下に入るらしい。

dmgでパッケージインストールしてもJAVA_HOMEが設定されなかったので、WebLogicのzipインストールをしようとして困ったので調べてみた。

と言っても、WebLogicのREADMEに書いてあるっていうね。

ほぼフリーみたいなもんなんだから、技術力あげなきゃね。。。

以上。