Tuesday, July 2, 2019

ReferenceError: MongoClient is not defined

Hi Guys ,

In this blog I will share information related to error : ReferenceError: MongoClient is not defined .


This error is related to the node.js code which is trying to connect to the database . To fix this check the following lines of code highlighted in yellow  . You need to make sure module mongodb is imported and the MongoClient is referenced using the variable .






var mongo = require('mongodb');
var url = "mongodb://localhost:27017/qanda";
mongo.MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
Please make changes to the code and retest . Hope this will help you in resolving this issue .

MongoNetworkError: failed to connect to server MongoNetworkError: connect ECONNREFUSED


Hi Guys ,

You might have faced an error like MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]

We generally face this error when the database server is down , if you bring the database server up you will not face this error .

The full error is as follows :


(node:15564) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
F:\\study\nodejs\node_modules\mongodb\lib\topologies\server.js:240
            throw err;
            ^

MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
    at Pool.<anonymous> (F:\\study\nodejs\node_modules\mongodb-core\lib\topologies\server.js:431:11)
    at emitOne (events.js:116:13)
    at Pool.emit (events.js:211:7)
    at connect (F:\\study\nodejs\node_modules\mongodb-core\lib\connection\pool.js:557:14)
    at makeConnection (F:\\study\nodejs\node_modules\mongodb-core\lib\connection\connect.js:39:11)
    at callback (F:\\study\nodejs\node_modules\mongodb-core\lib\connection\connect.js:261:5)
    at Socket.err (F:\\study\nodejs\node_modules\mongodb-core\lib\connection\connect.js:286:7)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)


The code snipped to connect to mongo db is as follows :


var mongo = require('mongodb');
var url = "mongodb://localhost:27017/qanda";
mongo.MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});


Sunday, June 9, 2019

Groovy Interview Questions

Important Interview Question in Groovy .


  • Compare Java with Apache Groovy 


  1. Groovy is a scripting language 
  2. Less syntax
  3. default access modifier is public 
  4. automatic getters and setters
  5. does not support ARM introduced in java 7
  6. allows variable substitution inside double quotes 
  7. does not support anonymous inner class , lambda , use closure instead .
  8. groovy supports operator overloading 

  • What is AST transformations.
 the ability to customize the Abstract Syntax Tree representing your programs before the compiler walks this tree to generate Java bytecode .
  • Explain closure in groovy
A closure in Groovy is an open, anonymous, block of code that can take arguments, return a value and be assigned to a variable

{ [closureParameters -> ] statements }

  • Explain GRAPE 
Grape stands for the Groovy Adaptable (Advanced) Packaging Engine
Grape helps you download and cache external dependencies from within your script with a set of simple annotations.

@Grab('org.apache.httpcomponents:httpclient:4.2.1')

  • What is the use of @GrabResolver 
By default GRAPE uses Maven Central Repository , if we need to add our own repository we can use  @GrabResolver  .





Friday, May 17, 2019

Java Architect interview questions


  • What are the 4 architecture domain TOGAF deal with ?
  1. business
  2. data
  3. application 
  4. technology


  • What is TOGAF ADM ?
Architecture Development Method .
It provides a tested and repeatable process for developing architectures .


  • What are the phases within the ADM .
  1. preliminary
  2. architecture vision
  3. business architecture
  4. information system architecture
  5. technology architecture
  6. opportunities and solution
  7. migration planning
  8. implementation governance
  9. architecture change management
  10. requirement management 
  • What are the SOLID principles?


  • Explain encryption in Java

Create key object using secret key spec passing key and algorithm
Cipher.getinstance blowfish
Set mode encrypt / decrypt
Cipher.dofinal//encrypted
Base64.encode // encoded



  • A method is defined with return type string , I do not want to return anything but still want the method to compile , how can I achieve that ?
instead of return string we can throw an Exception


  • How to access private variables of a class ?
through Reflection API Field.setAccessible(true);





ec2-user@ec2 Permission denied