自己写了一个方法,在保存数据到mongodb时自动记录是哪个类哪个方法写入到mongodb去的。
此处直接使用类名和方法名做集合名称了。
String classname = new Exception().getStackTrace()[1].getClassName(); // 获取调用者的类名
String method_name = new Exception().getStackTrace()[1].getMethodName(); // 获取调用者的方法名
MongoManagerPool.toutiaoInsert(listAdverResponse.toJSON(), classname + "_" +method_name);
注意此处 getStackTrace()[1]
,[0]表示的是MongoManagerPool.toutiaoInsert
这个方法自己,[1]表示当前方法。
new Exception().getStackTrace()
返回的是一个数组,数组的顺序就是栈的顺序:后进先出。具体获取数组的第几个元素,取决于方法跳了几次才跳到最终操作mongodb写入的代码的。
网友评论